摘要: \(\text{Problem}\) \(\text{Solution}\) 最优解一定是一个回文子串的最优构造加上剩下的逐个填入 考虑用回文树建出所有的回文串,然后 \(dp\) 求回文子串最优的构造方案 维护一个 \(\text{half}\) 意义同 \(\text{fail}\),但要保证长 阅读全文
posted @ 2021-08-11 21:57 leiyuanze 阅读(24) 评论(0) 推荐(0) 编辑
摘要: \(\text{Code}\) #include<cstdio> #include<cstring> #include<iostream> #define LL long long #define re register using namespace std; const int N = 3e5 阅读全文
posted @ 2021-08-11 19:03 leiyuanze 阅读(21) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) \(\text{Solution}\) 考虑 \(60\) 分 设 \(f_{i,j,k}\) 表示前 \(i\) 个数,模 \(j\) 同余 \(k\) 的个数 由于空间太大,离线后把询问 \(l,r\) 拆开,挂到相应的位置上 然后按位置顺着扫一遍即可 考虑 阅读全文
posted @ 2021-08-11 11:55 leiyuanze 阅读(27) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) 一年一度的高考结束了,我校要拍集体照。本届毕业生共分 \(n\) 个班,每个班的人数为 \(A_i\)。这次拍集体照的要求非常奇怪:所有学生站一排,且相邻两个学生不能同班。现在,安排这次集体照的老师找到了你,想问问你一共有多少种方案。方案数可能很大,最终结果对 阅读全文
posted @ 2021-08-11 11:30 leiyuanze 阅读(32) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) \(dp\) 翻折就只需预处理回文中心 \(Manacher\) 预处理即可 \(Code\) #include<cstdio> #include<iostream> #define LL long long using namespace std; cons 阅读全文
posted @ 2021-08-11 11:15 leiyuanze 阅读(46) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) \(30\) 分暴搜合法路径 另 \(30\) 分状压 设 \(f_{i,j,k}\) 表示当前到第 \(i\) 个点,走过的点状态为 \(j\),走过的路径长度为 \(k\) 的方案数 \(100\) 分仍然回到暴搜 考虑折半搜索,把路径拼起来,先搜一次,哈 阅读全文
posted @ 2021-08-11 07:52 leiyuanze 阅读(17) 评论(0) 推荐(0) 编辑