思维 && 其他小算法
aa
whoammiiiiii
这个作者很懒,什么都没留下…
展开
-
单调队列总结 hdu 3415
传送门 提议: 给你一个长度为n的序列,这个序列首尾相连,是一个环,现在给你一个最大滑动窗口的长度k,也就是说这个滑动窗口的长度可以1~k,现在问你滑动窗口里面元素和的最大值是多少,并输出元素和最大时滑动窗口的左端点和右端点。 思路: 单调队列最经典的应用就是求滑动窗口内元素的最值。当然这个滑动窗口是有限定大小的。然后就可以根据题目要求,来看是要维护队首最小的单调队列还是队首最大的单调队列。 那么这题只要预处理出前缀和,因为求区间和是以当前的前缀和减去单调队列里最小的前缀和,所以这题单调队列维护的是队首最小原创 2021-01-24 19:31:18 · 158 阅读 · 0 评论 -
cf 1358C Celex Update(看似是组合问题的思维题)
题目链接 昨天的cf题,差点因为这道题翻车了,幸好后面力挽狂澜XD。 一看这道题,一猜,路径上的数值之和肯定都是不同的,一写,自信一交,等待1a,wa on pretest 2,gnls,然后找了15分钟规律猜了个结论过了。 题解的思路是这样的: 把他想象成一个(借用cf tutorial里的图)这个样子的一个东西,初始状态是路径的和最小的那个状态,你要做的只是每次把他右上角的那个角给他按下去,就是把路径的和增加了,这样就能保证没有重复,可以看出答案就是 dx * dy + 1。 #include <原创 2020-05-27 15:58:00 · 255 阅读 · 0 评论 -
CF 20C Dijkstra?(预处理+bfs)
题目链接 题意: 给你以后n个点(编号为1~n),m个无向边,有可能形成环,问你从 1 到 n 的最短距离是多少,如果到不了就输出-1, ps:两点之间可能有多条边。 思路: 一看这题不是bfs秒了吗,直接bfs维护每个点的最短距离, 那么问题来了,为什么会T, 点的范围1e5,边的范围1e5, 1e5+1e5没理由t啊,因为这不是到了这个点就可以把这个点去掉的bfs,而是要维护到这个点最短距离...原创 2020-04-04 18:27:22 · 224 阅读 · 0 评论 -
comejoj国庆快乐赛 E:不存在的粉丝群
题目链接 题目的意思是有n个人,k个人有奇数个好友,问你最多能有多少对好友? ps:1.a和b是好友,b和c是好友并不代表a和c是好友 2.a和b是好友,那b和a也是好友 思路:我们可以先把每两个人都连起来,然后再删边。 显然,每个人有(n-1)个好友可以交,有n个人,但是每对好友关系会出现两次(1 3, 3 1)所以要除以二,所以若所有人都互相为好友的话,那么好友数就是n * (n-1) / ...原创 2019-10-03 12:12:31 · 141 阅读 · 0 评论