算法 way to explore https:https://cdn.v2ex.com/navatar/6395/ebd0/954_normal.png?m=1499745703 https:https://cdn.v2ex.com/navatar/6395/ebd0/954_large.png?m=1499745703 2025-10-25T02:53:10Z Copyright © 2010-2018, V2EX 不用 AI 挑战? 看看大家的算法水平 tag:www.v2ex.com,2025-10-25:/t/1168275 2025-10-25T02:32:47Z 2025-10-25T02:53:10Z jackenliu member/jackenliu 有十万亿个字符串,需要从中寻找到和字符串 A 完全相同的字符串有多少个,这些字符串包括 A 的长度为 1 ~ 1000 ,给出最佳算法

我一开始想着是一级:去除长度不一集,二级:双指针逐个两端对比

]]>
请教一个集合 ChunkBySize 的算法 tag:www.v2ex.com,2025-10-24:/t/1168074 2025-10-24T02:50:14Z 2025-10-24T03:50:14Z ne6rd member/ne6rd 假设存储端有一个 2MB 的文件大小限制。 内存中有一个集合,IEnumerable<T>, 想要实现一个 ChunkBySzie 的方法,maxSzie 假设为 1.8MB ,把集合分成多个小组,每个都不超过 maxSize,同时又保证小组数量小。 集合的范围可能是 100~1M

目前想到两种思路:

  1. 估算,取前 n 个 item ,计算平均 size ,然后估算,但是不确定
  2. 枚举,计算每个 item 的 size ,最准,但是消耗性能

语言是 C#,大家有啥建议吗?

]]>
Tiktok 的算法有多厉害? US 搞的定 LLM,为什么学不会 tt 的算法? tag:www.v2ex.com,2025-09-24:/t/1161581 2025-09-24T09:00:22Z 2025-09-24T10:37:17Z jacketma member/jacketma 这几天看的报导,大概率 TikTok US 是要数据和算法要分治了。

只从技术的角度看,FAANG 几大巨头搞算法的人才也不少,LLM 水平目前还是绝对领先,但是似乎也研究和抄袭过 TT 的算法,看起来还是没有 TikTok 能打。

比较好奇,tiktok 的算法到底有多厉害?整的 FAANG 就是搞不定? TT 的算法和 LLM 的算法,难度还要更大吗?

]]>
🎥 最长递增子序列(LIS)算法讲解 | 真诚分享一次 AC 背后的思路 👉 https://www.bilibili.com/video/BV1inEQzvEaK/ tag:www.v2ex.com,2025-05-19:/t/1132644 2025-05-19T02:12:57Z 2025-05-19T02:10:57Z WilWooHahah member/WilWooHahah 🎥 最长递增子序列( LIS )算法讲解 | 真诚分享一次 AC 背后的思路 👉
https://www.bilibili.com/video/BV1inEQzvEaK/

最近刷到很多小伙伴在讨论动态规划和二分优化,这让我想起自己当初被“最长递增子序列”这题反复劝退的日子😵‍💫。这次,我整理了自己理解这道题的全过程,也录成了视频,希望能帮到和我当初一样迷茫的你。

在视频里,我分享了:

这不是最短的视频,但是我用心讲解的一次“过来人经验”。如果你也曾为这题头秃,或刚好准备学习 DP ,欢迎来看、留言、交流。

📌 你是怎么理解 LIS 的?有用过它解决过什么实际问题吗? 📌 欢迎在评论区留下你的“LIS 初体验”or“踩坑瞬间”!

点赞、投币、收藏是对我最大的支持 🙇‍♂️ 如果你觉得讲得还行,也欢迎转发给正在学习的朋友~


如需改为更轻松/中二风/标题党风/学术风等风格,我也可以帮你调整。需要吗?

]]> 跪求大佬指点! 10GB+数据查重最优解,哪种算法能扛住? tag:www.v2ex.com,2025-04-21:/t/1127118 2025-04-21T14:09:41Z 2025-04-21T18:49:11Z shil949 member/shil949 目前遇到一个大数据查重问题:需要处理 10GB 的二元序列数据,通过逐比特移动方式,查找 k 比特( k=64,65,..., 80 )重复序列出现的次数。尝试过逐比特移动的暴力方法,效率太低。求大佬支招推荐最优算法思路!

]]>
几百万个三维坐标中判断富集的簇,如何做比较好? tag:www.v2ex.com,2025-04-18:/t/1126512 2025-04-18T08:31:22Z 2025-04-19T04:23:13Z skydcnmana member/skydcnmana 现在有几百万个三维坐标点数据,希望判断其中数据点富集的若干区域,比如指定富集半径是 15 ,指定富集点数为 10000 ,那么就希望获取所有半径 15 球体范围内包含 10000 个以上点的区域,然后返回这些区域的中心点。

这个中心点也希望是由中心点发出符合半径长度的射线,所重合点数最多的情况,比如一个金字塔形的边框组成的区域被局部覆盖,那么中心点应当是塔尖,而非金字塔中心。

目前数据是以文本形式存储的。

该如何实现这样的计算?算法逻辑和需要用到的库和工具有哪些?

向量数据库有助于这种数据处理吗?我没接触过向量数据库。

]]>
去楼下超市买东西发现个活动,满 18 送可乐一瓶,发现有点意思 tag:www.v2ex.com,2025-04-11:/t/1124809 2025-04-11T08:57:43Z 2025-04-11T14:08:38Z loverorser member/loverorser 小明想知道如何结算才能获得尽可能多的可乐。
输入,一个正整数 N ( 0<N<100000 ),表示小明买了多少件商品
N 个正整数 A ( 0<A<1000 ),表示每件商品的价格
一个正整数 M(0<M<100 ),表示每满多少给一瓶可乐
输出,可能获得可乐的最大数量。 ]]>
面试遇到怪题,大家有什么思路吗 tag:www.v2ex.com,2025-04-08:/t/1124068 2025-04-08T14:04:09Z 2025-04-09T12:49:51Z tenserG member/tenserG 分红包,上限是总奖金 30%,下线 1 元,输入奖金总数 m 和人数 n ,输出一个列表表示每个人红包

思路一 传统分红包办法,1 到 n-1 人领随机生成 range ( 1 ,0.3*m )的红包,最后一个人拿到剩余,但是这样最后一个人可能会超出上下限

思路二 下限当作保底,先每个人分 1 元保底,剩下奖金池是 m-n ,1 到 n-1 人领取随机生成 range ( 0 ,0.3*m-1 )的红包,最后一个人拿到剩余,这样保证了下限,但是上限还是会超,如果前面 n-1 个人没分完总奖金的( 1-30%)=70%,剩下一个人就会超过上限 30%

到这里基本时间就到了,感觉凉凉,复盘时候感觉无论怎么随机分,都没法保证刚好分完

思路三是搜索到的一种解法,先计算平均值 avg ,每个人两两一对,领取 avg+-random 的红包,如果人数是单数,则返回平均值。这样能保证分完,不过额真的随机么。

]]>
如何避免露出 prompt 给用户 tag:www.v2ex.com,2025-03-04:/t/1115886 2025-03-04T12:12:52Z 2025-03-05T11:24:45Z ohazyi member/ohazyi 尤其是用 deepseek 的思考过程的时候。由于可能在输入中注入了一些用户画像/行为的数据,但又不想让用户看到思考过程中的 prompt (比如行为习惯/抓到的私密信息等),怎样才能利用这些信息的同时不展示给用户呢?

]]>
这个算法有多难? 把 Ai 也难到了 tag:www.v2ex.com,2025-02-21:/t/1113282 2025-02-21T08:06:25Z 2025-02-21T16:07:50Z tanszhe member/tanszhe 坐标系中有一些点 points(x,y),请写一个算法来给这些点分组。

要求:

  1. 同一组内的点,它们之间的距离不能大于 d
  2. 分组数量要最少
  3. 每组的点数不能超过 m
  4. 设:每组内链接所有点最短的那条连线(最优路径)= l , 要求所有组的 l 加起来尽可能小 (有些点可以同时分在多个组时 需要考虑全局最优)

d 和 m 可以自定义配置

]]>
帮忙这个题到底是咋解啊?? tag:www.v2ex.com,2025-02-20:/t/1112995 2025-02-20T08:51:36Z 2025-02-20T09:16:27Z ihuihui member/ihuihui https://imgur.com/a/LKNq9C2 ]]> 求个思路 背抓测试测算两个中指之间距离 tag:www.v2ex.com,2024-12-12:/t/1097029 2024-12-12T07:41:21Z 2024-12-12T07:39:21Z SmartTom member/SmartTom 要求最后得出两个手之间距离,尽可能精确。 ]]> 算法题:给出任意两个表,找出两个表所有的关联关系 tag:www.v2ex.com,2024-12-03:/t/1094732 2024-12-03T09:49:20Z 2024-12-03T10:28:54Z Ryinn member/Ryinn 图片

]]>
请问我这段 2-hop 算法的 Rust 实现还能怎么优化 tag:www.v2ex.com,2024-12-03:/t/1094651 2024-12-03T05:41:04Z 2024-12-03T09:01:45Z Xerxes2 member/Xerxes2 但是数据集一大 Python 的性能你们懂的,到后面测试一次就要一分多钟。
有点受不了就用 C# 和 Rust 各写了一个,理清算法之后再照搬到 Python 。

当时最大的数据集下,一样的算法一样的机器,用 hyperfine 测试启动到结束的时间,性能大概是这样的
- Python 3.11: 30s
- C# (.NET7 AOT): 1.5s
- Rust: 750ms

毕业之后这段代码就搁我电脑里没怎么动过,但是每年 .NET 版本更新我都会拿出来再跑一下看看性能,去年 .NET 8 更新之后 C# 版本的运行时间降低到了 1s ,Rust 没什么变化。

今年 .NET 9 更新了我就又拿出来跑了一下,Rust 没变,C# 版时间降低到了 660ms ,超越了 Rust ,让我非常不解,按理说一个带运行时的 GC 语言无论如何性能都不会比跑在裸机上的 Rust 快。
问了几个群友,有人说 Rust 的默认 HashMap 性能不行,但是换 ahash 之后也没什么变化。

代码在这里: https://gist.github.com/Xerxes-2/4c73294601dca27d3d6dc7eeecc78ba1

请问 Rust 版哪里写的有问题还能优化吗 ]]>
C++如何优化矩阵乘法 gemm tag:www.v2ex.com,2024-11-23:/t/1091967 2024-11-23T02:59:43Z 2024-11-24T16:36:04Z Folder member/Folder 最近在用 C 手写模型推理, 其中 gemm 可以说是核心计算, 于是决定以学习为目的自己尝试优化一下.

用 3 个 for 循环可以实现最基本的矩阵乘法, 在我用 simd, blocking, 并行计算这些方法之后, 速度比 naive 版本的快了很多, 但还是会比 openblas 慢不少. 接下来该怎么做有点没头绪了. 我想知道有没有办法能进一步提升? 谢谢

代码地址: https://github.com/Avafly/optimize-gemm

]]>
求个思路:判断两个及以上的图形是否重叠。 tag:www.v2ex.com,2024-10-20:/t/1082013 2024-10-20T16:13:18Z 2024-10-11T02:10:53Z Visitor233 member/Visitor233 https://img.picui.cn/free/2024/10/20/6715285d254d4.png
在做 coreldraw 插件开发,先只考虑重叠,包含和相切稍后。官方接口提供了一种方式。来这问大佬只是想扩展下思路,以防万一。方式不限。几年没来 v2 发帖了 ]]>
有什么 3 维矩阵匹配算法吗? tag:www.v2ex.com,2024-09-24:/t/1075388 2024-09-24T06:16:17Z 2024-09-24T11:42:13Z rookiemaster member/rookiemaster 一个大 3 维矩阵,一个小 3 维矩阵,要在大矩阵中找到与小矩阵相同的子矩阵。矩阵元素都是 0/1

]]>
有没有各种算法的列表?最好是重点介绍输入、输出和适用范围 tag:www.v2ex.com,2024-09-24:/t/1075248 2024-09-24T00:00:42Z 2024-09-24T02:37:19Z shendaowu member/shendaowu 就是为了长长见识。我搜了一下,就搜到个这个: https://en.wikipedia.org/wiki/List_of_algorithms 。这个列表应该不全吧?页面中提到了里面只是广为人知的算法。无法想象人类只有这么点算法。另外求中文的。除了算法和数据结构应该没有其他相关的东西了吧?刚才看那个页面的时候看到还有个数据结构的列表。

我之前在知乎上问这个问题有人说我松鼠病,看这种东西没用吗?

]]>
[招聘] [兼职] [算法] 招聘录制算法视频 长期合作 tag:www.v2ex.com,2024-09-23:/t/1075231 2024-09-23T16:41:51Z 2024-09-23T17:38:51Z lpldplws member/lpldplws 目前需要算法岗位的 OP 录制视频,有关机器学习,AIGC 相关的内容,以偏入门为主,时间比较自由,只要按期交付即可。 课时费 300/hour,预计 30hour ,合作没问题后,后续录制的内容会逐步增加,费用也会增加,也会有更多类型的合作方式。

如果有往期的录制视频也可,费用另算。比较适合在校老师或在职工作的 OP 。

感兴趣的可以加 v Laplan_d

]]>
[线上] 求 算法大佬录制视频 tag:www.v2ex.com,2024-09-13:/t/1072777 2024-09-13T13:06:09Z 2024-09-13T13:03:09Z lpldplws member/lpldplws 目前需要个算法岗位的大佬录制视频,有关机器学习,AIGC 相关的内容,以偏入门为主,难度不大,时间比较自由,只要按期交付即可,倾向于长期合作。 课时费 300/hour,预计 30hour ,如果有往期的录制视频也可,费用另算。比较适合在校老师或在职工作的 OP 。

感兴趣的大佬可以加 v Laplan_d

]]>
请教应该去学习使用什么算法或者思路,在同一时间编排考试上 tag:www.v2ex.com,2024-09-10:/t/1071549 2024-09-10T02:18:50Z 2024-09-10T02:17:50Z sleepyfevniv member/sleepyfevniv 朋友来问我一个考试编排的问题,怎么才能替代手工,以最大的自动化来编排试场。我自己了解了一下需求,感觉手动处理起来不算难的问题(就是费时间),在程序上不知道怎么解(主要还是因为我自己算法题刷少了)。

详细问过需求,简化成如下的需求点:

  1. 所有考试都在同一时间,不需要考虑冲突问题。
  2. 有若干校区,每个校区最大的教室数量不定。不考虑远近与学生是否方便,只考虑编排方便。
  3. 有若干门课,每门课考试人数不定,可能是个位数,可能上百。
  4. 如果某些课考试人数较少,那么需要合并到一起混考。
  5. 若干教室,每个教室都有下面的属性:最大容纳人数、最大容纳混考课的数量。
  6. 同一门课只能放在同一个校区考试。

我自己先假设最普通的情况,一个教室最大 30 个人。有若干从 1-30 人的课。用最无脑的方法,就是人数 30 的课放到 30 人的教室排满。然后排 29 人数的配 1 个人的课,然后 28 的配 2 人,27 、26...依次。

然后不同的场次处理后,发现等到课的人数是 17 、18 的时候,可能自己独立成一个教室考试有点浪费。或者一堆 1 、2 、3 的挤在一个教室加起来不到七八个人。

发现这种无脑从大到小的编排方式不行,所以觉得可能要使用某种算法来解决这个问题了。但是奈何学艺不精,没有刷过多少算法题,不清楚有哪些算法可以使用在这个问题上的。希望大家能说下算法的名称或者搜索学习算法方向。如果可以的话或者有什么处理思路的话,能简要说说就更好了。

]]>
多算法级联一定能加强安全性吗? tag:www.v2ex.com,2024-08-18:/t/1065903 2024-08-18T10:37:51Z 2024-08-18T10:35:51Z GDSR member/GDSR 算法小白手撸扫雷小游戏,有没有大佬指点一下? tag:www.v2ex.com,2024-08-14:/t/1064856 2024-08-14T03:28:15Z 2024-08-14T08:15:41Z miaeLKK member/miaeLKK
初始化:

根据大小生成棋盘,初始化每个格子为 - ;

随机生成指定地雷数的地雷(写入棋盘);

遍历每个格子,计算周围 9 个格的地雷数量(需要边界判断),将计算结果写入棋盘。

初始化完成了,然后是游戏部分:

然后翻开格子时需要一个“炸开”效果,一开始我想着太麻烦了,自己一个个翻吧,后来觉得还是写一个试试,一开始想着逐行扫描,但是连续性不好做。然后想着四个象限扩展,但感觉也是很麻烦。最后想了个方法,每个格子扩展其上下左右 4 个格子,成功了。具体方法:

翻开格子时首先判断是否不是雷(也就是数字或空格),然后将当前格子翻开。然后进一步判断当前格子是否是空格,是的话就递归当前方法,翻上下左右 4 个格子

对此,大家有什么建议吗? ]]>
求教,路径规划的一个问题思路 tag:www.v2ex.com,2024-07-22:/t/1059164 2024-07-22T07:36:12Z 2024-07-22T09:16:10Z aeron member/aeron 抽卡随机算法请教 tag:www.v2ex.com,2024-07-04:/t/1054910 2024-07-04T10:08:40Z 2024-07-04T12:26:19Z jitongxi member/jitongxi 分布为:40,30,20,10

分布为:400000,300000,200000,100000

在使用伪随机算法时,会有什么差异吗?

大规模时应该是一样的, 但是对十连抽这种影响大吗 ]]>
工程算法难题,求大神 tag:www.v2ex.com,2024-06-25:/t/1052526 2024-06-25T09:50:58Z 2024-06-25T14:51:38Z leegradyllljjjj member/leegradyllljjjj https://imgur.com/a/oqKLgX0 ]]> 请教算法大佬们一个使用遗传算法排课的问题 tag:www.v2ex.com,2024-06-20:/t/1051116 2024-06-20T04:14:50Z 2024-06-20T00:14:50Z ga9 member/ga9
举个例子:
教学任务:
1 年级 1 班,一周有 3 节语文课, 4 节数学课
1 年级 2 班,一周有 3 节语文课, 4 节数学课

教师:
王老师: 教授 1 年级 1 班和 1 年级 2 班语文
李老师: 教授 1 年级 1 班和 1 年级 2 班数学

时间段:
每周 5 天,每天 8 节课, 一周就是 40 个时间段, 用数组表示:[1,2,3....40]

现在的数据结构是:
基因: 科目+班级+教师+时间段
时间段: 例如每周 5 天,每天 8 节课, 一周就是 40 个时间段
染色体: 相同科目,相同班级组成的多个基因数组
个体: 染色体构成的数组

对应的个体,染色体,基因结构举例:
基因:
基因 1: 语文(科目)+1 年级 1 班(班级)+王老师(教师)+1(时间段, 1 是举例, 可以是 1...40 中的任意一个数字)
基因 2: ...
染色体:
染色体 1:
基因 1: 语文(科目)+1 年级 1 班(班级)+王老师(教师)+1(时间段)
基因 2: 语文(科目)+1 年级 1 班(班级)+王老师(教师)+2(时间段)
基因 3: 语文(科目)+1 年级 1 班(班级)+王老师(教师)+3(时间段)
染色体 2:
基因 1: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+4(时间段)
基因 2: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+5(时间段)
基因 3: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+6(时间段)
基因 4: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+7(时间段)

个体:
染色体 1:
基因 1: 语文(科目)+1 年级 1 班(班级)+王老师(教师)+1(时间段)
基因 2: 语文(科目)+1 年级 1 班(班级)+王老师(教师)+2(时间段)
基因 3: 语文(科目)+1 年级 1 班(班级)+王老师(教师)+3(时间段)
染色体 2:
基因 1: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+4(时间段)
基因 2: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+5(时间段)
基因 3: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+6(时间段)
基因 4: 数学(科目)+1 年级 1 班(班级)+李老师(教师)+7(时间段)
染色体 3:
基因 1: 语文(科目)+1 年级 2 班(班级)+王老师(教师)+7(时间段)
基因 2: 语文(科目)+1 年级 2 班(班级)+王老师(教师)+8(时间段)
基因 3: 语文(科目)+1 年级 2 班(班级)+王老师(教师)+9(时间段)
染色体 4:
基因 1: 数学(科目)+1 年级 2 班(班级)+李老师(教师)+10(时间段)
基因 2: 数学(科目)+1 年级 2 班(班级)+李老师(教师)+11(时间段)
基因 3: 数学(科目)+1 年级 2 班(班级)+李老师(教师)+12(时间段)
基因 4: 数学(科目)+1 年级 2 班(班级)+李老师(教师)+13(时间段)

现在的问题是:

现在两个个体交叉操作时,是在种群中随机找到两个父代个体中的一个染色体索引位置,然后做交叉,生成两个子代
但是交叉后,会出现时间段冲突(会有相同的时间段): 个体内部的同一个班级内,出现了相同的时间段, 个体内部的同一个教师内,,出现了相同的时间段,这就不对了
因为同一个班级,在同一个时间段,没法上两节不同的课, 同一个教师,在同一个时间段,也没法上两节课

我现在的做法,是通过一个修复函数来处理这种冲突, 思路是:

交叉操作后, 将班级内冲突时间段, 都整理到一起, 将班级内还可以使用的时间段,也整理到一起
然后将教师的冲突时间段, 也整理到一起, 将教师还可以使用的时间段,也整理到一起
然后将班级冲突时间段,和教室冲突时间段, 通过班级可用时间段和教师时间段来替换

如果将班级冲突时间段,和教室冲突时间段,都能使用班级可用时间段和教师时间段替换调,则表示修复成功,反正就是无法修复

现在是会出现, 无法修复的情况,如果无法修复,那么就需要撤销此次交叉操作

实际情况是, 能实际修复的交叉操作很少,导致迭代很多代后,最优的个体,还是第 1 代的, 这就不对了。

请问该如何处理更好一些?

---------------------------------------------

上面的例子,为了表达,我做了一些简化,实际情况,会比这个更复杂一下,例如下面是我正在解决的排课问题:

九年级,14 个班,周一至周五,上午 4 节课,下午 4 节课,周一下午第 4 节统一班会课

每个班:语文 7 节(两次两节课的连堂,排在周二和周四),数学 7 节(一次两节课的连堂,排在周三),英语 6 节(两次两节课的连堂,排在周三和周五,周二正课没有英语),物理 5 节(一次两节课的连堂),化学 5 节(一次两节课的连堂),道法 4 节(一次两节课的连堂),历史 4 节(一次两节课的连堂),物理化学每天至少 1 节课,包括晚自习

任课方案:
语文 1:1-2 班 语文 2:3-4 班 语文 3:5-6 班 语文 4:7-8 班 语文 5:9-10 班 语文 6:11-12 班 语文 7:13-14 班
数学 1:1-2 班 数学 2:3-4 班 数学 3:5-6 班 数学 4:7-8 班 数学 5:9 班 数学 6:10 班 数学 7:11-12 班 数学 8:13-14 班
英语 1:1-2 班 英语 2:3-4 班 英语 3:5-6 班 英语 4:7-8 班 英语 5:9-10 班 英语 6:11-12 班 英语 7:13-14 班
物理 1:1-3 班 物理 2:4-6 班 物理 3:7-9 班 物理 4:10-11 班 物理 5:12-14 班
化学 1:1-3 班 化学 2:4-5 班 化学 3:6-8 班 化学 4:9-11 班 化学 5:12-14 班
道法 1:1-4 班 道法 2:5-8 班 道法 3:9-10 班 道法 4:11-14 班
历史 1:1-4 班 历史 2:5-9 班 历史 3:10-14 班

---------------------------------------------

这个里面有个连堂课的概念,连堂课就是两节课一起上。

对应的上面的基因的结构是:
基因: 数学(科目)+1 年级 2 班(班级)+李老师(教师)+1_3(两个时间段,1,3 是举例)


非常感谢 :) ]]>
各个社区的 trends 推荐,背后的算法逻辑是怎样的呀? tag:www.v2ex.com,2024-06-16:/t/1049885 2024-06-16T00:36:15Z 2024-06-16T00:35:15Z Pengfei2015 member/Pengfei2015 请教一个算法问题,给学生分配校车乘车路线 tag:www.v2ex.com,2024-06-15:/t/1049798 2024-06-15T09:28:47Z 2024-06-15T11:24:53Z ivae member/ivae 需要给学生分配校车乘车路线

if __name__ == '__main__': #每路车剩下的空位 line_left_Num = { '5 路':6, '6 路':11, '9 路': 4, '10 路': 9, '11 路': 18, '12 路': 21, '17 路': 36, '18 路': 41, '21 路': 6, '60 路': 20 } # 每个站点还需要分配的学生人数 site_stu_num = { '江山里澜湾小区':21, '赞贤路小学、中航云府(赣康路)':30, '登峰大道中(城市家园)':7, '中海滨江壹号':13, '中海国际东郡 B 区(南康路)':30, '登峰大道南(中航公元)':64 } # 会经过该站点的线路 site_line = { '江山里澜湾小区': ['11 路','17 路'], '赞贤路小学、中航云府(赣康路)': ['5 路','9 路','12 路'], '登峰大道中(城市家园)': ['10 路','18 路'], '中海滨江壹号': ['6 路','21 路'], '中海国际东郡 B 区(南康路)': ['17 路','60 路'], '登峰大道南(中航公元)': ['11 路','17 路','18 路'] } 

怎么设计一个算法给在不超载的情况下尽可能把学生都安排上,得到每个站点的每条线路分配人数,比如江山里澜湾小区,11 路分配 6 人,17 路分配 15 人,

]]>
应该如何制定排班表,有什么好的方案吗? tag:www.v2ex.com,2024-06-03:/t/1046340 2024-06-03T05:33:35Z 2024-06-03T07:13:57Z shortawn member/shortawn
由于该单位的性质,营业时间段通常为早 9:00 到晚 22:00 (如遇突发情况,晚班人员可能需要整夜值班,并在第二天白天 9:00 下班后至少休息到下午 16:00 ),所以班次分为早班( 9:00-18:00 )和晚班( 13:00-22:00 ),工作日相对清闲,而休息日相对繁忙。

假设该单位 A 部门在职 10 人,周一至周五及其他工作日要求最低在岗 6 人(早晚班各 3 人),双休及节假日要求最低在岗 8 人(早晚班各 4 人),每人每月休息 4 天。如何在保障单位正常运转的前提下制定公平的排班方案,尽量让每人每月都不多不少地有 4 天休息,减少纠纷和矛盾?

如果遇到突发情况,晚班人员需要转为夜班,夜班人员第二天应该尽量安排休息或晚班。这种情况应该如何解决? ]]>
广度遍历算法探测两个节点之间的联通性并打印路径 tag:www.v2ex.com,2024-05-20:/t/1042403 2024-05-20T11:48:36Z 2024-05-20T11:47:36Z ariera member/ariera 有这么一堆有方向的图, 好比说有向图是这样子的:

A,B B,C A,D E,F G,Z X,A X,Y A,E E,R C,E E,F E,B

现在需求是:输入起始节点和最终节点,可以返回一下连通性结果,如果是通的,并输出连通的路径(无需最短,如果有多条就输出多条)。根据网络搜索发现大致上应该是图的广度优先遍历算法,但在网上找了很多 Python 代码示例,都是输入一个起始节点,输出可能的最终节点,使用的还是现成包,改不动。

  1. 好比说最终调用函数 FindLine(A, C) 就会尝试查找 A 开始 B 结果的这种路径。 最终会输出 A->B->C A->E->C

例外: A->E->C->E->C(这种环一下子的就不必了吧。。)

  1. 好比说最终调用函数 FindLine(A, Z) 那就是到不了,不通的

希望大神能给个 Demo ,指点一二。

]]>
汽车沙漠抛锚,如何处理淡水? tag:www.v2ex.com,2024-05-18:/t/1041815 2024-05-18T03:45:20Z 2024-05-18T12:01:00Z linglingling member/linglingling 汽车在沙漠里抛锚了,有 1 升水和 10 升汽油,有 10 升,5 升,2 升,1 升的容器各一个,其中 10 升的装着汽油,1 升的装着水。水中溶解有 1.5 克有毒物质£,已知£在水中溶解度为 3.27g/L ,在汽油中溶解度为 5.62g/L 。请问什么操作,能得到有毒物质浓度最低的水?

]]>
求个算法, 组合总和类型的, 从给定数组中取数, 要求取出来的数字总和在某个范围内 tag:www.v2ex.com,2024-04-24:/t/1035242 2024-04-24T05:25:03Z 2024-04-24T14:53:29Z bthulu member/bthulu
  • 给定数字数组 candidates, 和一个目标范围 [min, max] ,找出 candidates 中所有可以使数字和 >=min 且<=max 的组合。
  • 例如: 输入: candidates = [10, 20, 20, 30, 40], [min, max] = [30, 50] 输出: [[10, 20], [10, 30], [10, 40], [10, 20, 20], [20, 20], [20, 30], [30], [40]]

    1. 给定数字数组 candidates, 和一个目标数 target ,另一个小于 target 的目标数 target1 , 找出 candidates 中所有可以使数字和 > target , 且拿掉任一一个数字后的数字和 < target , 且拿掉某一个数字后的数字和 <= target - target1 的组合。

    例如: 输入: candidates = [10, 20, 20, 30], target = 45, target1 = 10 输出: [[20, 30], [10, 20, 20]]

    以上都是我这边现实业务需要计算的场景, 我根据 leetcode 上的组合总和 II改了改算是勉强将第一个算法实现了

    第二个算法实在是不会搞了

    ]]>
    抽奖、老虎机、随机数、Fortuna、搞钱! tag:www.v2ex.com,2024-03-17:/t/1024393 2024-03-17T01:52:10Z 2024-03-17T01:49:10Z guyssallygo member/guyssallygo 有没有大神一起来深入研究随机数算法,有无与伦比的回报,当然,是要在破解了一种算法之后! 如何获得巨量汇报,这要和现实世界的随机数的应用有关?哪里用得到随机数? 包括但不限于:抽奖、老虎机;是的,两者本质上是一个东西 据我在俄文网络上查到的消息,现在境外最新的老虎机采用的一种叫“Fortuna”算法,我大致了解了一下,这是一种“半伪随机半真随机数”的算法,其一半的随机来源来自硬件本身,相比破解纯粹的伪随机数算法不知难了多少,但我仍然认为有机会,大致思路之一是寻找这种算法本身的缺陷...

    ]]>
    请问这个场景可以归结为哪种算法? tag:www.v2ex.com,2024-02-21:/t/1017096 2024-02-21T02:30:09Z 2024-02-21T04:33:01Z breadykidliu member/breadykidliu 若有集合{A,B,C},集合中每个元素都有各自的子集,A={1,2,3},B={4,5,6},C={7,8,9},现有一个冲突库,库中的每个集合中的每个元素互相冲突,[{1,6},{2,4},{2,9},...],现在要把冲突的集合找出来,例如根据以上冲突库得出 AB 冲突,AC 冲突。
    请问算法大佬,有什么已有的类似算法可以参考的吗?

    ]]>
    求助估算队列剩余处理时间的问题 tag:www.v2ex.com,2024-02-16:/t/1015847 2024-02-16T05:47:51Z 2024-02-16T06:45:51Z 1F357 member/1F357 1.每个队列都有自己的权重,处理任务时(假设为单线程)会按照队列权重随机抽取一个队列(然后处理一条被抽取到的队列的任务,注意,是处理一条而不是直接处理完被抽到的整个队列)
    2.有的队列任务数很少,没有任务后不参与抽取。
    3.已知每个队列的权重、任务数。
    4.假设每条任务处理时间固定。
    有算法能估算出特定队列的预计处理时间吗。
    我数学不好实在是想不出什么好的计算方法 ]]>
    人类目前算法领域最高的结晶,是什么? tag:www.v2ex.com,2024-02-14:/t/1015671 2024-02-14T17:36:28Z 2024-02-15T14:59:31Z 996bujiaban member/996bujiaban 1:航空领域那种稳定系统吧,听说都运行几十年不出错了
    2:应该就是机器学习,代表作就是 GPT 了吧 ]]>
    nvida jetson 替代品 tag:www.v2ex.com,2024-01-29:/t/1012578 2024-01-29T13:05:12Z 2024-03-23T07:44:17Z pzict member/pzict 请问有没有兄弟玩过国产的方案,能够适配大部分算法的,目前的人脸识别用的 yoloV8 + resnet ]]> 有没有大佬帮我解答一个关于比赛分组的算法问题? tag:www.v2ex.com,2024-01-26:/t/1011943 2024-01-26T14:50:02Z 2024-01-28T03:28:03Z Alalajiyh member/Alalajiyh

    背景:

    我们麻将群准备举办一个麻将比赛,总共有 10 个队伍参赛,假设这 10 个队伍分别为 A,B,C,D,E,F,G,H,I,J ;

    要求:

    1 ,总共安排 30 场对战,每天两场,总共 15 天,每个队伍出战 12 次;每个队伍遇到其他每个队伍的次数相同,即任意两个队伍之间的相遇 4 次。

    2 ,每天两场比赛同时进行,8 个队伍参赛,两个队伍轮空。每个队伍每天只能参加一场。

    问题:如何安排每天的赛程?

    我个人上班摸鱼的时候想了一些办法,虽然找到满足要求的结果了,但是觉得并不是最优解,所以来虚心请教下。

    已知所有相遇可能性为 C10,2 = 45 ,每场对战的不同相遇数为 C4,2 = 6;

    我使用的方法是,最后的结果使用一个二维数组来存放,每个元素代表每天的两场对战。例如:[[ABCD,EFGH],[ABCD,EFGH]...]。

    每次挑选两个相遇来组合成一次对战。要求这两次相遇没有同一个队伍,并且如果本场对战是当天的第二场,还要先排除第一场已经参赛的队伍。先将总共 30*6 = 180 个相遇放到待选池中,每次从池中选择一个相遇时,优先选择最终结果中已选择的相遇次数最少的相遇来组成一场对战。

    然后我用 js 写了个实现,最后还是使用不同的待选池序列尝试了一千多万次才找出满足条件的结果。想问问有没有更好的办法

    ]]>
    对转账做排序保证账户永远都是非负的 tag:www.v2ex.com,2024-01-25:/t/1011399 2024-01-25T02:38:43Z 2024-01-25T03:38:43Z chaoxu member/chaoxu
    你获得了这些账户之间的 m 个转账记录。每条记录表示从一个账户向另一个账户转移的人民币的金额。

    可惜的是没有转账的时间。

    找到一个算法,可以将这些转账记录做一个排序,使得每次转账之后,账户里的钱都是正的。 ]]>
    关于一道面试遇到的算法题 tag:www.v2ex.com,2023-12-21:/t/1002294 2023-12-21T07:11:50Z 2023-12-21T07:14:38Z irisShaw member/irisShaw 面试遇到的一道题,踉踉跄跄花了好久才做出来,有没有大佬知道这是力扣哪道题啊

    输入数组,排序后需符合以下规律 a0<a1>a2<a3>a4<...>an

    ]]>
    求教,这个逻辑应该怎么写 tag:www.v2ex.com,2023-12-13:/t/999920 2023-12-13T01:54:13Z 2023-12-13T03:18:50Z abc0123xyz member/abc0123xyz n 种不同面值的马内,并且每种的数量有限
    给出一个指定金额,凑够这个金额。有多少种组合方法

    如果凑不到这个金额,比如只有 1 元和 0.5 元,金额是 1.1 元,则取 1.5 来凑

    ]]>
    [请教] 生活中的算法题:密码尝试次数 tag:www.v2ex.com,2023-12-10:/t/999206 2023-12-10T15:24:31Z 2023-12-11T14:33:08Z acr0ss member/acr0ss 最近想到一个算法题,和生活有关的。

    出租屋最近换了密码锁,6 位密码。实际操作中,在密码前后输入多位其他数字,也能验证成功。既 prefix + password + suffix 的输入,也能解锁。

    那么问题来了,6 位密码最多输入多少次能破解? 假设密码锁的判断方式是最近输入的 12 位字符,既 length(prefix + password + suffix) = 12

    没有思路,请教诸君。

    ]]>
    求一个动态规划算法 tag:www.v2ex.com,2023-11-16:/t/992605 2023-11-16T14:40:48Z 2023-11-16T14:57:58Z jiangzm member/jiangzm 大概需求是这样的 1 、有 N 个盒子,每个盒子有 50 个针位 2 、有 M 种钻针,每一种钻针数量不定(可以大于 50 ) 3 、同一种钻针需大于 50 才能轮换到其他盒子

    给定多种钻针及数量,求使用最少盒子的排放组合?

    eg: | 钻针 | 数量 | | ----------- | ----------- | | 1 |5 | | 2 |8 | | 3 |20 | | 5 |44 | | 6 |12 | | 7 |120 | | 8 |10 |

    输出 [ [1,1,1,1,1,2,2,2...], [5,5,5,5,5,...] ]

    ]]>
    HashMap ❤️ Heap tag:www.v2ex.com,2023-11-16:/t/992440 2023-11-16T05:44:59Z 2023-11-16T07:06:24Z Nazz member/Nazz 最近将 hashmapheap 结合起来实现了一种数据结构, 它具有 O(1) 的随机访问和极值访问性能, O(logN) 的插入/更新/删除性能. 用途非常广泛, 可以作为 TTL 缓存 / 时间堆 / 有序集合 / 撮合成交系统核心 使用.

    前人是不是已经发明过了, 可有正式名称?

    GitHub

    ]]>
    一个简单但是我不会的算法题 tag:www.v2ex.com,2023-11-09:/t/990302 2023-11-09T08:21:26Z 2023-11-09T08:34:28Z icandoallthings member/icandoallthings
    根据不同的 type<Int 类型> 对 array 进行乱序 。

    相同的 type 值生成的乱序数组是相同的。

    老哥们有法子吗? ]]>
    推荐个算法入门教程 tag:www.v2ex.com,2023-11-07:/t/989426 2023-11-07T03:15:00Z 2023-11-07T22:36:08Z xiaotiantian007 member/xiaotiantian007 https://www.hello-algo.com/

    ]]>
    一组已知长度的数,按预设百分比分成两组 ab,这两组中其中一组 a 可以一对多另一组 b 的数,即可以 a 中某个数可以快速匹配另一组的几个数 tag:www.v2ex.com,2023-10-31:/t/987148 2023-10-31T08:12:04Z 2023-10-31T12:09:47Z iloooo member/iloooo 大佬们,求助此情形需要使用什么算法,可以快速确立 ab 的对应关系

    确认算法后,是否可以使用 java 来设计下,要求高性能,感激~

    ]]>
    请教一个计费的问题 tag:www.v2ex.com,2023-10-27:/t/985917 2023-10-27T02:39:18Z 2023-08-27T22:39:18Z flyme2them00n member/flyme2them00n 计费时存在时间段计费,计费策略是将时间段按照费率(多少时间收多少钱)划分为一个个的计费单元(由起始时间和结束时间定义),现存在分钟指定收费(从计费单元的开始时间算起,假如分钟指定收费的分钟数比一个计费单元的分钟数要大,则下一个计费单元也在优惠范围内,依次往下计算)、指定计费策略、折扣(时间段内所有计费单元均生效)等等,现在需要进行分段计费:假如有 A 、B 、C 三个计费单元(存在一个默认的计费策略),假如存在分钟指定收费 1 (生效时间段包含了 A 、B 两个计费单元)、分钟指定收费 2 (生效时间段包含 B 、C 两个计费单元)、折扣(生效时间段包含 A 、B 、C 三个计费单元),同种优惠类型取最优,不同优惠类型可叠加,现在需要计算出 A 、B 、C 各个计费单元的最优优惠,请问有什么好的思路?

    ]]>
    数学题应用求助, AI 一直给不出准确结果 tag:www.v2ex.com,2023-10-18:/t/983077 2023-10-18T04:13:41Z 2023-10-18T05:21:54Z tushile928 member/tushile928
    请仔细计算:一个公司举办拖拉机 2V2 比赛,采取积分制,胜者 2 分,败者 0 分,这个公司一共 14 人,ABCDEFGHIJKLMN 这 14 人,要求每个人之间都相互搭档 1 次与另外 2 人比赛,每天可以举办 3 场,每人每天最多比赛 1 场,这个对阵表要怎么排?请以表格的形式列出 31 天的对阵表(对阵表里除了这 14 人,不要出现别的字母,不能有重复的对阵,不能出现自己和自己搭档,两人之间最多只能搭档一次)。 ]]>
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86