摘要:
填坑 分层图最短路 [JLOI2011]飞行路线 板子题 我们可以分成k + 1层 每一层按照题意连边 每相邻的两层间连长度为 0 的合法有向边 比如题目给出 u -> v : w 这条边 , 那么同时可以连 u(dep1) -> v(dep2) : 0 一条边 , 表示第一层点 u 可以花费 0 阅读全文
摘要:
填坑((( 哈希(Hash) 与 踹树(Trie) 引入: hxs: 我是踹树 , 我可以踹任何人 Hash 哈希 , 一种字符串算法 , 可以把一段字符串映射成一个数字 通常是这样写 1 inline int getHash(char *s){ 2 int len = strlen(s + 1); 阅读全文
摘要:
迭代加深搜索 原题:poj-The Rotation Game 无限深度的搜索 , 选择迭代加深 每搜完一次 depMax += 1 直接搜会TLE 所以加一些很显然的优化 1. 每次进行完一个操作后下一个操作就别进行与之相对的操作 2. 用8(中心那一圈数字的个数)减去中心那一圈里最多相同的数字 阅读全文
摘要:
比较推荐的一篇blog (感觉这个blog就是写给自己看的 ... 不太建议想学kmp的来看这篇) kmp字符串匹配 abababf ababf 这两个串匹配 , 第五个字符的时候失配 暴力再匹配: abababf ababf kmp再匹配 abababf ababf 很显然 , 一个串的真后缀在失 阅读全文
摘要:
我一点也不想碰数论 挖个坑待填 阅读全文
摘要:
快速读入 注:只能处理正整数 , 当然负数只需要稍微改一下就好了 , 很简单 快速输出 注:同上 请注意 , 如果使用这种快速读入输出不建议使用 O2 或 O3 优化 阅读全文
摘要:
对拍 作用就不说了 怎么写呐? 首先需要一个库 1 #include<windows.h> 看这个库名就知道是干啥的了吧 system()调用cmd 用 fc 指令 fc 后面接两个文件可以比对两个文件是否相同或者比对大小 然后system()打开造数据的exe , 打开暴力exe跑一遍 , 然后打 阅读全文
摘要:
原题 题意: 给一棵树 , 每一条边都有边权 , 支持四种操作 1. 将第k条边权值修改为k 2. 将节点u到v的边权都覆盖为k 3. 将节点u到v的边权都增加k 4. 询问区间边权最大值 显然树剖 边权转点权然后就是树剖裸题了 怎样边权转点权 对于一个点u , 她的父亲是 v 将 u->v 的边权 阅读全文
摘要:
原题:[SCOI2003]字符串折叠 啊没错又是dp 啊没错又是区间dp 设 dp[i][j] 为区间 i~j 的最短折叠长度 转移 , 情况有两种 第一种是把两个已经折叠好的区间合并 另一种是把这个区间折叠掉 对于第一种 , 很一般的枚举断点然后合并 对于后一种呐? 枚举折叠后的长度(不算括号和系 阅读全文
摘要:
括号最大匹配 区间dp 原题 dp[i][j] 表示区间 i~j 的区间最大括号匹配数 考虑dp[i][j]如何转移 对于 dp[i][j] , 可以从 dp[i + 1][j] 转移过来 首先是不匹配的情况 显然 dp[i][j] = dp[i + 1][j] 然后开始在 (i + 1)~j 枚举 阅读全文