上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 53 下一页
摘要: 有上下界的费用流 建图:每条边连接两个节点,边的费用为花费时间,下界为1,上界正无穷,源点为1,所有点连向1,下界0,上界正无穷,表示随时可以返回,于是我们想求一个最小费用可行流 具体做法是先建立超级源汇,对于每条有上下界的边(u,v),u->t,流量为u的入度,费用为0,s->v,流量为下界1,费 阅读全文
posted @ 2017-08-12 08:41 19992147 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 高精度 我以为这题必有高论,怎么想也想不出来,没想到竟是如此粗鄙做法。 我们写一个高精度模拟一下,然后枚举约数看是否能约分,由于我不会高精度除法,就抄了一发 其实这种两项之比和项数有关的数列是不能推通项的,只能暴力模拟 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2017-08-11 19:46 19992147 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 扩展欧几里得 我们发现其实就是两个野人在自己的寿命内不会相遇,或者永远不会相遇,那么我们枚举m,然后枚举两个人,看是否符合条件 扩展欧几里得ax+by=c,这里c不能取模,a能取模,具体不想了 #include<bits/stdc++.h> using namespace std; const in 阅读全文
posted @ 2017-08-10 11:53 19992147 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 离散化+树状数组+排列组合 很久以前就看到过这道题,现在依然不会做。。。看完题解发现思路很简单,就是有点难写 我们先将坐标离散化,x和y最大是w,然后我们就有了一个暴力做法, 枚举每块墓地,统计,因为墓地上下左右没东西的话就不可能有贡献,这些坐标自然就被离散化了,所以墓地最多有w*w块 复杂度O(w 阅读全文
posted @ 2017-08-10 09:01 19992147 阅读(163) 评论(0) 推荐(0) 编辑
摘要: exgcd 由于忘记了exgcd,这道题就没做出来。。。 exgcd的用处是求ax+by=gcd(a,b)这样方程的解 大概是这个样子的 void ext_gcd(long long a, long long b, long long &x, long long &y) { if(b == 0) { 阅读全文
posted @ 2017-08-10 08:40 19992147 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 贪心 这并没有想清楚就看题解了。。。 看上去肯定是贪心,那么怎么贪呢?事实上,我们想一下,假设max(a[i],a[i+1])中a[i]没有合并,那么后面取max肯定是a[i+1],因为如果后面合并之后比a[i+1]大,那么不如先和a[i]合并了,如果后面合并了比a[i+1]小,那么也没用,因为不可 阅读全文
posted @ 2017-08-09 21:40 19992147 阅读(103) 评论(0) 推荐(0) 编辑
摘要: AC自动机 复习一下。。。 可惜又写错了 我们发现就是把单词建成ac自动机,然后把串在ac自动机上跑一遍,每到一个单词结束点就删除,删除是利用栈,每次弹出单词长度个字符就可以了 发现两个小问题,strlen很慢,不能写在循环里,danger必须在构造fail时全部传递好,否则在匹配时跑fail会达到 阅读全文
posted @ 2017-08-09 21:37 19992147 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 模拟+树状数组 先开始以为是先删距离最小的,这样可以减小上下的距离,然后觉得很难写,看码长很短,就看了题解,结果很奥妙 我们只考虑两种元素,就是如果像-a-b-a-b-这样的肯定得交换,如果像-a-b-b-a-或-a-a-b-b-这样的就不用交换,于是我们对于每个元素考虑其他元素,也就是统计两个相同 阅读全文
posted @ 2017-08-08 15:30 19992147 阅读(189) 评论(0) 推荐(0) 编辑
摘要: treap+stl 这道题终于A了 排名是按照分数为第一关键字,插入时间为第二关键字,然后就是treap基本操作了 #include<bits/stdc++.h> using namespace std; const int N = 250010; int n, Tim, root, score, 阅读全文
posted @ 2017-08-07 09:45 19992147 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 二分+分数规划+dfs判环 跟1486很像,但是我忘记怎么判环了, 我们可以写一个dfs,如果当前节点的距离小于更新的距离,而且这个点已经在当前访问过了,那么就是有环了,如果没有访问过就继续dfs,每个点枚举dfs就行了。 如果这个点距离大于更新距离,那么没必要访问,因为刚才都没有判出来正环,现在这 阅读全文
posted @ 2017-08-06 19:05 19992147 阅读(213) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 53 下一页