7-1 Knuth洗牌法 (20分) Knuth 洗牌法是生成 { 1, 2, ..., n } 的一个随机重排列的算法。与每次反复随机生成一个数字,直到获得一个不重复的新数字的算法不同,Knuth 洗牌法从原始序列 { 1, 2, ..., n } 开始,逐次洗牌。洗牌的方法是从左到右,每轮从没确 ...
分类:
其他好文 时间:
2020-05-02 23:12:54
阅读次数:
104
7-1 Knuth洗牌法 (20分) Knuth 洗牌法是生成 { 1, 2, ..., n } 的一个随机重排列的算法。与每次反复随机生成一个数字,直到获得一个不重复的新数字的算法不同,Knuth 洗牌法从原始序列 { 1, 2, ..., n } 开始,逐次洗牌。洗牌的方法是从左到右,每轮从没确 ...
分类:
其他好文 时间:
2020-05-02 09:38:13
阅读次数:
118
码农题.思维难度中等,难在调试 建边方法:分别将x和y排序,对每个点,对它旁边所有的x/y连边(如果他需要). 开map记录点的位置,对于每个点,如果他的九宫格之内有其他点,就对他连边 注意排序会使点的顺序混乱,故需要在状态里将点的id保存 连完边跑tarjan缩点.易证如果你能到一个环内的某个点, ...
分类:
其他好文 时间:
2020-03-21 10:09:50
阅读次数:
86
简单的排序题.遍历第一遍时将UP放入queue,same直接放,Down建指针放在第一个可以使用的位置.第二遍将UP放入就可 这里我使用的struct记录每个点的位置和状态 ...
分类:
其他好文 时间:
2020-03-21 09:58:54
阅读次数:
59
又是一个典型的背包.注意贪心思路:如果你要做这辆车,你就坐满他. $i,j$分别存坐上去的人总人数和现在的时间$,dp[i][j]$ 统计来到这个状态的最小钱数 为啥要开2 n?因为有时候搭车人数会超过n.我们可以严格限制在n里~~但是我懒~~,于是就开大一点保证无错 ...
分类:
其他好文 时间:
2020-03-21 09:49:53
阅读次数:
78
观察题目,发现可以贪心能往前走多少往前走多少,然后尽量扭180度后退.剩下角度可以通过原地~~扭屁股~~实现,并不会影响距离 开两个变量分别记录往前走和往后走的距离.角度只需一个数组,往左记为 $\theta$ ,往右记为 $360 \theta$ 度 怎么找最接近 $180$ ?背包... 答案怎 ...
分类:
其他好文 时间:
2020-03-21 09:49:42
阅读次数:
62
又是背包...(这题比黄还简单) 一维dp. $i$ 表示现在拿了课题数, $dp[i]$ 表示拿到n个课题的最小花费.将dp初始化大一点就行,记得开longlong ...
分类:
其他好文 时间:
2020-03-21 09:49:10
阅读次数:
54
无聊测试赛题解 首先膜拜_Zhumingrui大佬获得1000分的好成绩 T1 "凯撒密码" T2 "积木城堡" T3 "出租车拼车" T4 "汽车拉力比赛" T5 "最佳课题选择" T6 "排行榜" T7 "豪华游轮" T8 "佳佳的魔法药水" T9 矩阵覆盖 待填充 T10 "所陀门王的宝藏" ...
分类:
其他好文 时间:
2020-03-21 09:48:35
阅读次数:
59
思路比较新奇,但是想到了题目还是挺好做的 看到最小和次数可以想到最短路.看到数据范围可以想到必须在跑dij的时候记录次数.由于要记录的是最短路的方案,易证如果一种药有一种更便宜的配置方法,我们不会记录贵的那种. 于是,我们可以将这道题转化为一个用堆优化的dij.如果一种药水在堆顶,那么这种药水不可能 ...
分类:
其他好文 时间:
2020-03-21 09:37:36
阅读次数:
68
本题的思路大致为首先解出每个字母所移动的格子数n,然后将所有的字母移动n个格子. n的解法: 第一行出现最多的字母和E的差就是n(题目后面的提示跳舞小人bfs证明可以理解为出现的频率) 具体实现为利用map存第一行每个字符出现的次数,然后移动全盘就行了 c++的好处在于他有内在的toupper(), ...
分类:
其他好文 时间:
2020-03-21 09:30:17
阅读次数:
60