上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页
摘要: xswl以为是个插头dp,然后发现就是个sb题 相当于就是个匹配。每个格子度数为2,所以可以匹配2个相邻的点。匹配显然的用网络流。最后check有没有不匹配的点即可。 cpp include define il inline define vd void typedef long long ll; 阅读全文
posted @ 2018-10-19 22:28 菜狗xzz 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 显然二分答案$mid$,然后距离$\leq mid$的点对只能放在一个部落里。然后可以并查集$O(n^2)$算出有多少个部落。 cpp // luogu judger enable o2 include define il inline define vd void typedef long lon 阅读全文
posted @ 2018-10-19 22:25 菜狗xzz 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 简要的学了一下2 sat,然而不会输出方案。 就是个sb模板题啦 cpp // luogu judger enable o2 include define il inline define vd void typedef long long ll; il int gi(){ int x=0,f=1; 阅读全文
posted @ 2018-10-19 22:23 菜狗xzz 阅读(157) 评论(0) 推荐(0) 编辑
摘要: ~~出题人你tm搞笑呢,冰霜新星翻成冷冻波,而且tm就只能打一只小精灵???巫妖王都想来砍死你~~ 首先要搞出每个巫妖能不能打到每一个小精灵,然后二分时间,就能算出每个巫妖可以打的次数,网络流check即可 但是你要搞出每个巫妖能不能打到每一个小精灵。。。贼jb麻烦,为此搜了N个公式才搞出来,我还是 阅读全文
posted @ 2018-10-19 22:21 菜狗xzz 阅读(182) 评论(2) 推荐(0) 编辑
摘要: 今天Fakehu考的T1。 大致意思就是有n个人每个人有两个速度$v_1,v_2$,比赛有两个路程$A,B$,最后时间是$A/v_1+B/v_2$。求每个人是否可能成为冠军中的一个。 显然不需要考虑$A,B$这两个值,可以钦定$A=1$。那么$t=B/v_2+1/v_1$。就是一条直线的形式。 然后 阅读全文
posted @ 2018-10-19 16:05 菜狗xzz 阅读(277) 评论(0) 推荐(2) 编辑
摘要: 强行二合一啊。。。 前面直接二分最小值,二维前缀和。后面用主席树查最小值。注意要写$nlogn$。 cpp // luogu judger enable o2 include define il inline define vd void typedef long long ll; il int g 阅读全文
posted @ 2018-10-19 13:19 菜狗xzz 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 简单tarjan。 一行的横天门如果暴力连边会被卡成平方,所以只要相邻两个横天门连双向边,再随便选一个横天门向整行连边即可。纵寰门同理。ziyou门直接map暴力连边。 然后tarjan直接dp。 cpp // luogu judger enable o2 include define il inl 阅读全文
posted @ 2018-10-19 13:17 菜狗xzz 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 洛咕 P2480 [SDOI2010]古代猪文 题目是要求$G^{\sum_{d|n}C^d_n}$。 用费马小定理$G^{\sum_{d|n}C^d_n\text{mod 999911658}}$ 因数可以$O(\sqrt n)$枚举。 分解质因数,$999911658=2×3×4679×3561 阅读全文
posted @ 2018-10-19 13:12 菜狗xzz 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一开始以为是异或高斯消元,实际上是简单线性基。 直接往线性基里插入,直到线性基满了就解出来了。 cpp // luogu judger enable o2 include define il inline define vd void typedef long long ll; il int gi( 阅读全文
posted @ 2018-10-19 13:08 菜狗xzz 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 同波浪,简单dp。 高度从1到n插入山脉,设f[i][j][k]表示插入了i个山脉,组成了j段,边界上有k个山脉的方案数。 那么新插入的山脉只会:插入在边界上且自己是一段、插入在边界上且与最左边的段相连、不在边界上且自己是一段、不在边界上且连接两段。 大力讨论即可 cpp // luogu judg 阅读全文
posted @ 2018-10-19 13:05 菜狗xzz 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 略有一点点思维的题。 首先,如果一个点上,下,左,右分别有$a,b,c,d$棵树,那这个点的十字架方案为$C_{a}^{k}C_{b}^{k}C_{c}^{k}C_{d}^{k}$。 按x坐标扫一遍,同时树状数组维护每个y坐标的$C_{a}^{k}C_{b}^{k}$,直接统计答案。复杂度$O(nl 阅读全文
posted @ 2018-10-17 22:16 菜狗xzz 阅读(186) 评论(0) 推荐(0) 编辑
摘要: sb状压dp。 设f[i][j]表示字符串前i位和集合为j的串匹配的方案数。 枚举哪个字母直接转移就好了。 (话说为啥这种水题都有紫色难度 cpp include define il inline define vd void define mod 1000003 typedef long long 阅读全文
posted @ 2018-10-17 22:12 菜狗xzz 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 比较显然的拆点费用流。 按照套路,网络流跑两个关键字的最优化问题时,可以把所有的第一个关键字都乘第二个关键字的和,最后计算答案时直接取膜即可。 cpp include define il inline define vd void typedef long long ll; il int gi(){ 阅读全文
posted @ 2018-10-17 22:10 菜狗xzz 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 洛咕 P2155 [SDOI2008]沙拉公主的困惑 有个结论,就是如果$gcd(a,b)=1$,那么$gcd(a+kb,b)=1$。证明比较显然。 所以这个题目要问的$n!$就可以分成$\frac{n!}{m!}$段,每一段和$m!$互质的数量都相同,那么显然就是$\phi(m!)$ 所以答案是$ 阅读全文
posted @ 2018-10-17 22:08 菜狗xzz 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 裸的状压dp。 设f[i][j]表示在i字数内放j集合的分部,直接sb转移。 cpp // luogu judger enable o2 include define il inline define vd void typedef long long ll; il int gi(){ int x= 阅读全文
posted @ 2018-10-17 15:30 菜狗xzz 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 哈希水过。 首先这是一段delta相同的序列,按照套路差分一下,b[i]=a[i] a[i 1],然后就是这些序列的最长公共子段 由于数据范围很小,就可以二分,枚举第一个序列的子段然后每个子序列暴力check,跑得飞快。 阅读全文
posted @ 2018-10-17 15:28 菜狗xzz 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 终于把考试题清完了。。。又复活了。。。 树上差分,合并用线段树合并,但是空间会炸。 某大佬:lca和fa[lca]减得时候一定已经存在这个节点了,所以放进vector里,合并完之后减掉就好了。。。 玄学优化就过了。。 cpp // luogu judger enable o2 include def 阅读全文
posted @ 2018-10-17 15:24 菜狗xzz 阅读(227) 评论(0) 推荐(0) 编辑
摘要: CF418D Big Problems for Organizers 题意:一个树,每次给两个点$x,y$,询问$max[min(dist(x,i),dist(y,i))]$ 神仙题鸭orz。 先抠出树的直径,然后答案只会是:直径端点的答案,或者这两个点中间的答案。 然后大力分类讨论即可。。。真不想 阅读全文
posted @ 2018-10-09 20:45 菜狗xzz 阅读(439) 评论(0) 推荐(0) 编辑
摘要: CF28D Don't fear, DravDe is kind 傻逼dp。 显然$c+l+r$相同的才能相互转移,然后$i$会从满足$l_j+c_j=l_i$的$f$最大的$j$转移过来。 cpp include define il inline define vd void define int 阅读全文
posted @ 2018-10-09 20:41 菜狗xzz 阅读(307) 评论(0) 推荐(1) 编辑
摘要: CF97C Winning Strategy "洛咕(题意应该快传上去了)" 这题好玄学鸭。。。都不知道为啥是对的 设$f[i][j]$表示打了i轮比赛,有j个参加了一次的人,直接枚举有几个参加了转移过去即可 cpp include define il inline define vd void d 阅读全文
posted @ 2018-10-09 20:38 菜狗xzz 阅读(240) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页