上一页 1 2 3 4 5 6 7 8 9 ··· 28 下一页
摘要: JIsoo 就是一个背包 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<algorithm> using namespace std; #define 阅读全文
posted @ 2021-10-19 16:00 Simex 阅读(24) 评论(0) 推荐(0) 编辑
摘要: JIsoo 关键在于压缩长度 不会证明怎么办 感性理解开个大数$st10$ #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<algorithm> usin 阅读全文
posted @ 2021-10-19 15:58 Simex 阅读(28) 评论(0) 推荐(0) 编辑
摘要: JIsoo 首先考虑floyd本质就是dp,然后扔进新的一维$f_{i,j,k}$,表示i和j之间经过k条边的最短路 枚举的时候是5个for?那也太疯狂了。 考虑一下如果i和j经过k能够作为当前边数的最短路的话,如果k和i,j距离不是1,那么在这一条路径上,一定可以用距离i为1的那个点来更新,这样的 阅读全文
posted @ 2021-10-19 14:27 Simex 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Jisoo 找一个最长的周期 就是要找最短的border然后加上中间的部分 这样 $kmp$出动 然后发现可以 “记忆化”一波进行优化 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<alg 阅读全文
posted @ 2021-10-17 17:42 Simex 阅读(37) 评论(0) 推荐(0) 编辑
摘要: Jisoo 作为dp来说这个题没啥意思 但是从中我们可以学到数学证明对于dp的指导 例如,只要 \(a_j\) 和$a_i$ 都不等于 \(0\) 那么这个序列是对数增长 这样似乎暴力也不怎么暴力了 #include<iostream> #include<cstdio> #include<cstri 阅读全文
posted @ 2021-10-17 17:34 Simex 阅读(26) 评论(0) 推荐(0) 编辑
摘要: Lisa 尺取法搞一波 然后前缀和优化一波 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int a[500005]; bo 阅读全文
posted @ 2021-10-17 11:49 Simex 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Lisa 显然两个在一起的空格是没有意义的。 所以空格的相对的一定是字符 这样在匹配的时候考虑对于两个字符,加不加空格和加在哪里 因为连续的空格有额外贡献 所以要记录有没有和在哪里 #include<iostream> #include<cstdio> #include<cstring> #incl 阅读全文
posted @ 2021-10-16 17:28 Simex 阅读(37) 评论(0) 推荐(0) 编辑
摘要: Lisa 显然的dp,只需要再二分查找一下 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int n; struct to{ 阅读全文
posted @ 2021-10-16 17:24 Simex 阅读(32) 评论(0) 推荐(0) 编辑
摘要: LIsa 就DP本身来说非常好想,但是怎样知道这个东西有没有在字典里出现过呢 hash似乎还是有点慢 这时候就应该用字典树了 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorith 阅读全文
posted @ 2021-10-14 21:49 Simex 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Lisa 很水的kmp小题 思考一下就可以知道,肯定要跑kmp,但是当我们删掉一个串后剩下怎么办 答:从上一次的位置接着匹配 记录一下这个东西就行了 #include<iostream> #include<cstring> #include<iostream> using namespace std 阅读全文
posted @ 2021-10-13 17:56 Simex 阅读(30) 评论(0) 推荐(0) 编辑
摘要: LIsa 就是一个背包 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<algorithm> #define int long long using na 阅读全文
posted @ 2021-10-12 15:56 Simex 阅读(33) 评论(0) 推荐(0) 编辑
摘要: LIsa 只要理解kmp,就会知道应该找前缀和后缀了 把当前输入的串和已知的答案串拼起来,然后中间加上一个小小的不存在字符,跑kmp #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cm 阅读全文
posted @ 2021-10-12 15:53 Simex 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Jisoo 枚举一下next也没事 也可以运用结论 这个结论画个图证明就可以了 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #include<algorithm> us 阅读全文
posted @ 2021-10-12 13:58 Simex 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Jisoo kmp中的next数组表示按照当前位置结尾的相同的最大真前缀和后前缀长度 那么如果这玩意真的存在,那么next[n] 一定不为零 然后枚举一下2-n-1,找找有没有相等的next就可以了 #include<cstdio> #include<iostream> #include<cstri 阅读全文
posted @ 2021-10-12 13:53 Simex 阅读(31) 评论(0) 推荐(0) 编辑
摘要: Jisoo 不显然的树上dp 定义$f_{i,j}$为第i位和为子树所选奇数个/偶数个点的方案数 然后显然会发现奇数加奇数等于偶数等规律 然后就可以转移了 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> 阅读全文
posted @ 2021-10-12 13:42 Simex 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Jinnie 处理出所有可能的品,然后尺取法找所有的正好n个的地方,取答案 正确性?假如正确答案不是n个连在一起,那么中间无论多了谁,一定会不止多一个 并且一定会存在一种n个在一起的更优解 #include<iostream> #include<cstdio> #include<vector> #i 阅读全文
posted @ 2021-10-11 23:10 Simex 阅读(26) 评论(0) 推荐(0) 编辑
摘要: Jinnie 显然的线性dp 预处理谁是回文串就可以了 #include<iostream> #include<cstdio> #include<vector> #include<queue> #include<cstring> using namespace std; int all[1005][ 阅读全文
posted @ 2021-10-11 23:05 Simex 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Jisoo 显然的转移,但是会是$O(n^3)$的,这很不好 但是可以意识到从不是同一颗树转移的时候,无需在意到底是那颗而只在意最大值 并且不会影响从自己转移 那就记录一下最大值 #include<iostream> #include<cstdio> #include<vector> #includ 阅读全文
posted @ 2021-10-11 17:59 Simex 阅读(31) 评论(0) 推荐(0) 编辑
摘要: Jisoo 思路比较显然的dp 我们怎么走?状压一波 当然可以,但是也不用 $f_{i}$表示第i天的最小花费,显然我们只要枚举上一个转换点就可以了 毕竟转换了之后,之前怎么走的就不重要了 然后spfa预处理一波 #include<iostream> #include<cstdio> #includ 阅读全文
posted @ 2021-10-11 11:13 Simex 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Jennie k是给定的 把m和n扔到一个坐标系里 成了二维的了,我们又都知道$Cm_n=c_{n-1}{m-1}+c_{n-1}^m$ 然后求和那个奇特的范围 这就是个二维的前缀和啊 #include<iostream> #include<cstdio> #include<algorithm> # 阅读全文
posted @ 2021-10-07 14:05 Simex 阅读(40) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 28 下一页