YjmStr

“与其站在原地思考,不如一步一步地往前走吧。哪怕昨天的足迹会消失不见,哪怕通往明天的道路隐没在黑暗中,也不要一味地回首过去,不要对未来悲观失望,只需尽情地感受当下。因为不管你如何反抗,时间总是会不断推...

NOIP2018退役记

考完颓了一周文化课才发现游记没写 这是一个day1因为写错文件夹爆0的弱智 day1 T1 一开题 哇积木大赛原题 不会做 先打70pts 对数据分治 最后30分乱写 最后3min才过大样例 T2 我会暴力 想了下昨天晚上看的裴蜀定理模板,能以∑ai×xi\sum a_i \times x_i∑a...

2018-11-18 12:46:22

阅读数 65

评论数 0

BZOJ1925: [Sdoi2010]地精部落 滚动数组DP

以数字个数iii作为阶段,表示111~iii的排列 设f[i][j][0/1]f[i][j][0/1]f[i][j][0/1]表示111到iii的排列以jjj结尾,第三维为000表示峰 为111表示谷 则容易写出一个方程f[i][j][0]=∑k=1j−1f[i−1][k][1]f[i][j]...

2018-10-22 19:12:45

阅读数 38

评论数 0

牛客2018提高组模拟day4 T2 区间 差分

我的做法似乎和泥萌不太一样啊。。还常数挺大 不过也是O(n)O(n)O(n)的 记f[i]f[i]f[i]表示iii作为GCD的时候能向左拓展的格数 可以发现如果能拓展 f[i] = f[i + 1] + 1 直到拓展到一个不能整除的格子 上面的式子是可以在数组上差分来算的。 设cur为...

2018-10-07 22:54:43

阅读数 34

评论数 0

BZOJ1609 [Usaco2008 Feb]Eating Together麻烦的聚餐 DP

题应该人人都会做,主要用这题练习一下对拍 因为我的暴力跑得太慢了 就把数据范围改小了一点,用于检测正确性足够了(大概) BZOJ1609[dp].cpp #include<cstdio> #include<cstring&am...

2018-08-27 14:33:55

阅读数 40

评论数 0

BZOJ1576: [Usaco2009 Jan]安全路经Travel 最短路径树+并查集

不难发现求出最短路径树后,每一条非树边(u, v) 可以用来更新u~lca(u, v), v~lca(u,v)这两条链上的点 对于一个可被更新的点x,他的答案可以被更新为dis[u] + dis[v] + 该非树边的边权 - dis[x] 似乎和dis[x]无关 那么可以按dis[u] + ...

2018-08-26 05:05:17

阅读数 59

评论数 0

BZOJ1588: [HNOI2002]营业额统计 Splay求前驱-后继-插入

第一次码splay,参考了多方代码。 由于每次插入的数都旋转到根,求前驱、后继的函数就统统改为求根的前驱-后继了 其他splay的经典操作还没涉及到,慢慢练吧:P #include<cstdio> #include&...

2018-08-24 21:13:30

阅读数 41

评论数 0

BZOJ1026: [SCOI2009]windy数 数位dp模板

f[i][j]表示当前有i位 第i位数字是j的合法windy数有几种 统计1~x的答案时先考虑位数比x少的,然后枚举1~{x的某一位-1} 加入答案 注意个位上的数要加1 不然取不到闭区间 #include<cstdio> #inc...

2018-08-23 20:25:22

阅读数 21

评论数 0

BZOJ3295: [Cqoi2011]动态逆序对 CDQ分治

cdq模板题 把删除操作的时间倒过来就变成了插入,转三维偏序 用和陌上花开一样的方法做就行,而且没有重复元素,不用离散化 插入一个数对答案的贡献要考虑左上角的元素个数与右下的元素个数,做完一次把x,y全部换成n-x+1与n-y+1就可以统计原坐标系中的右下角元素个数了 记得long long...

2018-08-22 22:20:48

阅读数 20

评论数 0

BZOJ1477: 青蛙的约会 exgcd

(m−n)x+Ly=y−x(m−n)x+Ly=y−x(m-n)x+Ly=y-x 不妨设m−n=a,L=b,y−x=cm−n=a,L=b,y−x=cm-n=a,L=b,y-x=c 原式化为ax+by=cax+by=cax+by=c 因为ax0+by0=d,d=gcd(a,b)ax0+by0=d...

2018-08-21 21:41:13

阅读数 20

评论数 0

BZOJ1912: [Apio2010]patrol 巡逻 树的直径

最致命的bug是没有bug。 题面里最后一张图:加两条边以后答案为15 我跑出来一直是10 于是与空气斗智斗勇半个小时+ k = 1的时候不难发现求个直径就完事了 k = 2的时候就大力讨论 不会有新加的边在第一次加的边形成的环中使答案最优 重复统计的地方 边权搞成-1完事了 ...

2018-08-21 01:29:06

阅读数 31

评论数 0

BZOJ3732:Network kruskal重构树

题面 kruskal重构树:kruskal的过程中每通过一条边合并两个集合 就新建一个结点作为代表这两个集合的结点的父亲,点权为该边边权 叶子结点都是原图中的点== 那么不难发现父节点点权都大于子节点 刚好使询问的两点所在集合合并的边的边权就是所求 即重构树上lca的点权 #includ...

2018-08-20 00:44:47

阅读数 29

评论数 0

BZOJ1031: [JSOI2007]字符加密Cipher Burrows-Wheeler变换 后缀数组

https://www.lydsy.com/JudgeOnline/problem.php?id=1031 题目里说的这加密算法是后缀数组的经典应用之一。。 断环成链即可, 注意复制原数组时int和char分开赋值,否则会出玄学错误。 人傻bug多裸题还交了好几发才ac.. z要赋值n &...

2018-08-19 11:28:42

阅读数 67

评论数 0

BZOJ4245: [ONTAK2015]OR-XOR 按位贪心

题面 在天津大爷一顿教育下 + 看题解水过了这题。 为什么我会去想奇奇怪怪的dp… 二进制求全部或起来、异或起来之类的一顿位运算操作后答案最大或最小的题都可以从高位开始按位贪心 比如10000总比01111大 这样。 确保最高位是1/0能保证更优 先搞出异或前缀和 然后按高位向低位贪心...

2018-08-17 14:02:33

阅读数 35

评论数 0

BZOJ1040: [ZJOI2008]骑士 基环树DP

题面 一般的基环树DP 处理环时的思路是断环成链,转为序列上的dp 其他地方同树形DP 但这样写起来挺麻烦 这道题可以以一种更简洁的方法处理: 把图建成无向图,用dfs找环。对于每个环,任意切断其环上的一条边,并记录两端点编号。 一颗基环树砍掉一条环上的边后即变成了一颗树,可以在上面做树...

2018-08-16 20:10:59

阅读数 54

评论数 0

BZOJ3940: [Usaco2015 Feb]Censoring AC自动机+栈

物理作业写得头昏脑涨T_T 建议做这题之前先做3942 做法同3942 只是这次移到了AC自动机上做匹配 用一个数组记录匹配到栈中每个位置时的结点编号即可, 每次遇到有dangerdangerdanger标记的结点 就把toptoptop减去该串长度, 并从新toptoptop对应的结点...

2018-08-15 22:44:28

阅读数 27

评论数 0

BZOJ2200: [Usaco2011 Jan]道路和航线 拓扑排序+最短路

题面 挺好的题。 题意十分清晰, 求S出发到每个点的最短路。 由于负权边的存在,不可以直接用dijkstra求解, 考虑spfa。 spfa的理论复杂度为O(T(R+P))O(T(R+P))O(T(R+P))过不去,实际上也会TLE(好像加了SLF可以水过去 一开始想了一个非常naive...

2018-08-15 14:37:21

阅读数 358

评论数 0

洛谷P1402 酒店之王 网络流

做一下往年省夏的题) 网络流比较显然,拆点要注意一下 一开始把超级源点S的出边容量设成inf -> wa 60分 改成1 -> wa 70分 才发现建图有问题 这样是能过样例 还能水70分 但是不合题意, 2号点也能蹭到1号点喜欢的菜了…… ...

2018-07-05 23:20:04

阅读数 46

评论数 0

BZOJ2442:[Usaco2011 Open]修剪草坪 单调队列DP

设f[i]f[i]f[i]表示前i只奶牛的最大效率,一个比较显然的dp是f[i]=max(f[j−1]+e[i]−e[j]),i−k<=j<=if[i]=max(f[j−1]+e[i]−e[j]),i−k<=...

2018-06-29 22:58:03

阅读数 36

评论数 0

BZOJ1876:[SDOI2009]SuperGCD 高精度+更相减损法

更相减损法:gcd(a,b)=gcd(a/2,b/2)∗2gcd(a,b)=gcd(a/2,b/2)∗2gcd(a,b) = gcd(a/2, b/2)*2 当a,b均为偶数 gcd(a,b)=gcd(a/2,b)gcd(a,b)=gcd(a/2,b)gcd(a,b) = gcd(a/2,b) ...

2018-06-29 13:52:58

阅读数 41

评论数 0

BZOJ1212:[HNOI2004]L语言 Trie树 + DP

记f[i]f[i]f[i]为文章中以第i个字符结尾的内容能否被理解 那么对于每篇文章最大的iii即为答案 把单词集合全部插入Trie中,初始化f[0]=truef[0]=truef[0] = true 每当找到一个i使f[i]=truef[i]=truef[i] = true 就开始在Tri...

2018-06-28 19:35:42

阅读数 62

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭