随笔分类 -  多校 Multi-University Training

摘要:/* HDU 6170 - Two strings [ DP ] | 2017 ZJUT Multi-University Training 9 题意: 定义*可以匹配任意长度,.可以匹配任意字符,问两串是否匹配 分析: dp[i][j] 代表B[i] 到 A[j]全部匹配 然后根据三种匹配类型分类讨论,可以从i推到i+1 复杂度O(n^2) */ #include using n... 阅读全文
posted @ 2017-08-23 23:13 nicetomeetu 阅读(128) 评论(0) 推荐(0)
摘要:/* HDU 6168 - Numbers [ 思维 ] | 2017 ZJUT Multi-University Training 9 题意: .... 分析: 全放入multiset 从小到大,慢慢筛 */ #include using namespace std; const int N = 125250; int n, s[N]; int a[N], cnt; multiset... 阅读全文
posted @ 2017-08-23 23:03 nicetomeetu 阅读(132) 评论(0) 推荐(0)
摘要:/* HDU 6162 - Ch’s gift [ LCA,线段树 ] | 2017 ZJUT Multi-University Training 9 题意: N节点的树,Q组询问 每次询问s,t两节点之间的路径上点权值在[a,b]之间的点权总和 分析: 求出每个询问的LCA,然后离线 按dfs顺序更新树状数组,即某点处树状数组中存的值为其所有祖先节点的值 每个点处对答案的贡献为:... 阅读全文
posted @ 2017-08-23 17:43 nicetomeetu 阅读(127) 评论(0) 推荐(0)
摘要:/* HDU 6143 - Killer Names [ DP ] | 2017 Multi-University Training Contest 8 题意: m个字母组成两个长为n的序列,两序列中不能包含同一个字母,问对数 分析: 问题归结于: 包含i(1 using namespace std; #define LL long long const int MOD = 1e9+7;... 阅读全文
posted @ 2017-08-20 17:16 nicetomeetu 阅读(156) 评论(0) 推荐(0)
摘要:思路来自 FXXL 最小树形图模板用kuangbin的 阅读全文
posted @ 2017-08-20 14:10 nicetomeetu 阅读(203) 评论(0) 推荐(0)
摘要:破结论没听说过,上式推导到第三步的时候有了O(nlogn) 的做法(枚举倍数+1最后前缀和),并且这种做法可以直接应用到向上取整的计算中,详见forever97 但由于d(n)是积性函数,故可O(n)求 代码参考这里 阅读全文
posted @ 2017-08-18 16:54 nicetomeetu 阅读(145) 评论(0) 推荐(0)
摘要:思路来自这里 - - 阅读全文
posted @ 2017-08-16 21:38 nicetomeetu 阅读(153) 评论(0) 推荐(0)
摘要:比赛时脑子一直想着按位卷积... 按题解的思路: 还有一种比较暴力的方法: 阅读全文
posted @ 2017-08-16 14:43 nicetomeetu 阅读(140) 评论(0) 推荐(0)
摘要:思路来自 某FXXL 不过复杂度咋算的.. 阅读全文
posted @ 2017-08-14 22:19 nicetomeetu 阅读(442) 评论(0) 推荐(0)
摘要:思路和任意模数FFT模板都来自 这里 看了一晚上那篇《再探快速傅里叶变换》还是懵得不行,可能水平还没到- - 只能先存个模板了,这题单模数NTT跑了5.9s,没敢写三模数NTT,可能姿势太差了... 具体推导大概这样就可以了: 阅读全文
posted @ 2017-08-13 21:41 nicetomeetu 阅读(328) 评论(3) 推荐(0)
摘要:个人感觉题解的复杂度很玄,参不透,有没有大佬讲解一下- - 阅读全文
posted @ 2017-08-11 16:51 nicetomeetu 阅读(196) 评论(0) 推荐(0)
摘要:/* HDU 6098 - Inversion [ 贪心,数论 ] | 2017 Multi-University Training Contest 6 题意: 求出所有B[i] = max(A[j]) [j % i != 0] 分析: 排个序从大到小找第一个不是它倍数的数. 至多扫倍数的个数,均摊复杂度O(nlogn) */ #include using namespace std... 阅读全文
posted @ 2017-08-11 13:33 nicetomeetu 阅读(124) 评论(0) 推荐(0)
摘要:/* HDU 6105 - Gameia [ 非平等博弈 ] | 2017 Multi-University Training Contest 6 题意: Bob 可以把一个点和周围所有点都染黑,还有 k 次割掉一条边的操作 Alice 可以把一个点染白 A先B后,问谁赢 分析: 如果图中不存在两两匹配,则Bob输 每一次两两匹配都需要一次割边,除了最后一次 如果没能力割边,Bo... 阅读全文
posted @ 2017-08-10 22:08 nicetomeetu 阅读(167) 评论(0) 推荐(0)
摘要:比赛的时候一直念叨链表怎么加速,比完赛吃饭路上突然想到倍增- - 阅读全文
posted @ 2017-08-10 19:51 nicetomeetu 阅读(194) 评论(0) 推荐(0)
摘要:JAVA+大数搞了一遍- - 不是很麻烦- - 阅读全文
posted @ 2017-08-09 15:28 nicetomeetu 阅读(178) 评论(0) 推荐(0)
摘要:看了标程的压位,才知道压位也能很容易写- - 阅读全文
posted @ 2017-08-09 02:03 nicetomeetu 阅读(287) 评论(0) 推荐(0)
摘要:看标程的代码这么短,看我的.... 难道是静态LCA模板太长了? 阅读全文
posted @ 2017-08-07 22:44 nicetomeetu 阅读(205) 评论(0) 推荐(0)
摘要:/* HDU 6068 - Classic Quotation [ KMP,DP ] | 2017 Multi-University Training Contest 4 题意: 给出两个字符串 S[N], T[M], k个询问 每个询问给出 L,R 对所有 1 using namespace std; const int N = 50005; const int M = 105;... 阅读全文
posted @ 2017-08-07 18:14 nicetomeetu 阅读(125) 评论(0) 推荐(0)
摘要:/* HDU 6076 - Security Check [ DP,二分 ] | 2017 Multi-University Training Contest 4 题意: 给出两个检票序列 A[N], B[N] 规定 abs(A[i]-B[j]) k = min(f(i-1,j), f(i,j-1)) + 1 , abs(A[i]-B[j]) using namespace... 阅读全文
posted @ 2017-08-07 13:39 nicetomeetu 阅读(284) 评论(0) 推荐(0)
摘要:/* HDU 6071 - Lazy Running [ 建模,最短路 ] | 2017 Multi-University Training Contest 4 题意: 四个点的环,给定相邻两点距离,问从2号点出发,2号点结束,距离大于k的最短距离 d(i,j) = k 的第一个数 */ #include using namespace std; #define LL long lon... 阅读全文
posted @ 2017-08-06 20:47 nicetomeetu 阅读(240) 评论(0) 推荐(0)