- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 luogu P2511 [HAOI2008]木棍分割
luogu P2511 [HAOI2008]木棍分割大意比较清楚,就是把一个序列分成m+1段。第一问:求最大那段最小是多少?第二问:在满足最大那段最小的情况下有几种分法 % 10007题解首先第一问是道入门二分答案 (我才不会告诉你我一开始写错了)假设第一问的长度为len则第二问是道pj DP设f[i][j]f[i][j]f[i][j]表示,前i个物品,分成j段且满足第一问的方...
2019-08-23 08:52:12 277 1
原创 luogu P1776 宝物筛选_NOI导刊2010提高(02)(单调队列优化多重背包)
luogu P1776 宝物筛选_NOI导刊2010提高(02)(单调队列优化多重背包)大意单调队列优化多重背包首先对于多重背包有一种优化方式是01二进制拆分,然后用01背包来做但有个log,还是不够优秀于是就有了单调队列优化多重背包v : val w : weight s:个数首先可以滚掉一维,设g为上一行的状态则可得最朴素的转移方程: 这里 i 表示容量...
2019-08-22 21:44:53 172
原创 CF888G Xor-MST
CF888G Xor-MST大意给出nnn个数a[1...n]a[1...n]a[1...n]求nnn个点的完全图最小生成树i,ji,ji,j的边权为a[i] xor a[j]a[i] \ \ \ xor \ \ a[j]a[i] xor a[j]题解前置芝士:Boruv...
2019-08-20 14:24:41 281
原创 Boruvka求最小生成树
我丢:luogu P3366 【模板】最小生成树相信大家都会prim和kruskal这篇主要讲Boruvka求最小生成树算法大致过程就是对于每个连通块,每次找出一条最小的出边然后把两个连通块合并每次可以是连通块个数减半然后就得到了一个O((n+m)logn)O((n+m)log n)O((n+m)logn)的做法如果用优先队列优化可能可以更加优秀#include<bits/...
2019-08-20 12:46:56 291
原创 luogu P3527 [POI2011]MET-Meteors
luogu P3527 [POI2011]MET-Meteors大意就是给你一个长度为m的环,环上每个点属于一个国家,一共有n个国家,每次会有陨石掉落在环上的一段点上,每个国家都想要收集一定的陨石,问每个国家最少在第几次陨石掉落时就收集够了题解整体二分裸题首先二分所有的询问,然后把满足要求的丢一边,不满足的丢另一边,然后继续二分下去即可#include<bits/stdc++....
2019-08-16 23:03:36 197
原创 loj #3030. 「JOISC 2019 Day1」考试
loj #3030. 「JOISC 2019 Day1」考试大意很清楚啊题解把x+y看作z,(x,y,x+y)−−−>(x,y,z)就是一个很裸的三维偏序问题把x+y看作z,(x, y, x+y) ---> (x,y,z) 就是一个很裸的三维偏序问题把x+y看作z,(x,y,x+y)−−−>(x,y,z)就是一个很裸的三维偏序问题#include&...
2019-08-16 11:55:24 482
原创 luogu P4169 [Violet]天使玩偶/SJY摆棋子
luogu P4169 [Violet]天使玩偶/SJY摆棋子大意给出一些点和询问,每次问离这个点最近的点的距离是多少(欧式距离)可以动态加点题解考虑最近点在左下角的情况设(xB,yB)为(xA,yA)在左下角的最近点设(x_B,y_B)为(x_A,y_A)在左下角的最近点设(xB,yB)为(xA,yA)在左下角的最近点则∣xA−xB∣−∣yA−yB∣=(xA+yA)−(xB...
2019-08-16 11:06:17 924
原创 luogu P2600 [ZJOI2008]瞭望塔
luogu P2600 [ZJOI2008]瞭望塔大意题目讲得很清楚啊题解可以发现,那个点一定是某两条直线的交点然后直接枚举两条直线就好了// luogu-judger-enable-o2#include<bits/stdc++.h>using namespace std;double x[305], y[305];struct A{ double k, b;...
2019-08-13 20:29:52 165
原创 Codeforces Round #578 (Div. 2)
Codeforces Round #578 (Div. 2) 简易题解A. Hotelier题意就是模拟客人进酒店有n个客人有动作L表示找到左边第一个空的住进去R表示找到右边第一个空的住进去数字表示第几间房子的人走了题解模拟即可#include<bits/stdc++.h>using namespace std;int n, ans[15];int main(...
2019-08-12 15:08:47 303
原创 luogu P4696 [CEOI2011]Matching
luogu P4696 [CEOI2011]Matching题目大意讲得比较清楚了吧我就讲怎么把问题转换吧p[i]p[i]p[i]表示的是排名为iii的在第p[i]p[i]p[i]那个位置然后我们可以令rk[i]rk[i]rk[i]表示第iii位的排名位rk[i]rk[i]rk[i],很明显rk[p[i]]=irk[p[i]] = irk[p[i]]=i然后就转换为rkrkrk数组和a...
2019-08-10 20:55:36 268
原创 luogu P2375 [NOI2014]动物园
luogu P2375 [NOI2014]动物园大意就是定义一个类似KMPKMPKMP中的 nxtnxtnxt 数组的东西 numnumnum,不过numinum_inumi表示前缀 st[1...i]st[1...i]st[1...i] 能匹配的前缀的数量且匹配的前缀的长度不能超过i/2i/2i/2学过AC自动机的都知道这很简单,如果不考虑长度限制,个数就直接在构造nxtnxtnxt数...
2019-08-10 20:24:03 201
原创 DD 摆磁铁(计蒜客信息学8月普及组模拟赛)
DD 摆磁铁这道题来自 计蒜客信息学8月普及组模拟赛普及组!!把我一个TG选手看懵了看来我要回去打普及了题目大意给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生的价值就是这两个点的距离,求最大的距离和。即使 ∑i=1mdispair\sum_{i=1}^{m}dis_{pair}∑i=1mdispair 最大化题解首先这题肯定是不能DP的,因为...
2019-08-10 19:49:44 404
原创 Comet OJ - Contest #8
Comet OJ - Contest #8第一次打,感觉好赤鸡然后就凉了T1大意就是说给出n个字符串,然后求出字典序最小的那个……这也太签到了吧T2给出一个www数组,对每个xxx求∑i=1n(wi−wx)2\sum_{i=1}^n{(w_i-w_x)^2}∑i=1n(wi−wx)2把式子拆开一下就是道水题了呀T3题意就是给出n个二元组(ai, bi)(a_i...
2019-08-10 16:41:09 333 6
原创 AC自动机
前言(che dan)说真的这玩意儿很难吗??不就是KMP + trie感觉比KMP还短概论就是把next数组建在trie上就是AC自动机辣算法流程首先把模式串插入trie中然后在trie上建立next(fail)数组即指向它失配时,对应字符串的后缀的最大前缀在trie上对应的节点然后就完了直接把匹配串扔到树上跑就行了还是看代码吧:算了还是看练习题吧:https://bl...
2019-08-10 09:21:56 73
原创 KMP
太简单了考场现推吧就是一个nextnextnext数组nextinext_inexti表示前缀字符串st[1...i]st[1...i]st[1...i]存在的一个最大的前缀字符串st[1....j]st[1....j]st[1....j]使得st[1....j]=st[i−j+1......i]st[1....j] = st[i - j + 1 ...... i]st[1....j]=s...
2019-08-10 08:44:22 70
原创 luogu P5357 【模板】AC自动机(二次加强版)
P5357 【模板】AC自动机(二次加强版)题目大意给出若干模式串和一个匹配串求每个模式串在匹配串中出现的个数题解所以这题和luogu P3966 [TJOI2013]单词有什么区别,直接跑完,然后统计子树大小就好辣code:// luogu-judger-enable-o2#include<bits/stdc++.h>#define N 200005#define...
2019-08-09 16:51:53 173
原创 luogu P3966 [TJOI2013]单词
P3966 [TJOI2013]单词题目大意给出若干个字符串,求出每个字符串在所有字符串中出现的个数题解直接建出AC自动机,然后把fail(next)树抽离出来,然后一个字符串出现的个数就是它对应fail树上的节点的子树大小(这个画一下图还是很容易理解的吧因为AC自动机上失配的点会指向当前点,就说明当前点对应的字符串在那个失配的点对应的字符串上出现了一次,那把fail抽出来,然后反向建边...
2019-08-09 16:39:46 159
原创 luogu P4052 [JSOI2007]文本生成器
P4052 [JSOI2007]文本生成器题目大意给出n个串,求出长度为m的包含n个串中的至少一个串的串个数题解就建好AC自动机之后跑DP就好了3维表示当前第几位在AC自动机上的哪个节点是否匹配到code:// luogu-judger-enable-o2#include<bits/stdc++.h>#define mod 10007#define N 600...
2019-08-09 14:35:04 161
原创 luogu P3311 [SDOI2014]数数
P3311 [SDOI2014]数数题目大意题目中已经说得比较清楚了吧就是求小于等于n的数字中,不包含给出一些字串的数的个数mod 109+7mod \ \ \ \ 10^9+7mod 109+7就这样嗯题解也是先按照套路建AC自动机,然后数位DP要开4维分别表示第几位 节点 ...
2019-08-09 14:22:11 190
原创 luogu P3041 [USACO12JAN]视频游戏的连击Video Game Combos
P3041 [USACO12JAN]视频游戏的连击Video Game Combos题目大意:给出n个字符串st[1…n],求一个长度为K的字符串,每匹配到st中的字符串就+1分,问最多能加几分题解做法十分套路,先把AC自动机建出来,在建的时候继承一下nxt的信息然后就是很简单的DP了code:// luogu-judger-enable-o2#include<bits/s...
2019-08-09 13:13:40 228
原创 luogu P2444 [POI2000]病毒
link: https://www.luogu.org/problem/P2444题目大意1.读入n个病毒代码;2.判断是否存在一个无限长的安全代码(不包含病毒代码;3.将结果输出TAK——假如存在这样的代码;NIE——如果不存在。代码都是01串直接把AC自动机建好,然后大力找环就好了真TM水~我才不会告诉你这是我一年前挖的坑#include<bits/stdc++.h...
2019-08-08 12:31:33 112
原创 新初三暑假的记录和总结
前言看了栋爷的这篇文章,很有感触,决定自己也要发奋一些其中有一句话点醒了我不要委屈自己 想说什么,就写什么后面的文字全是自己内心的真实想法在我的心目中栋爷一路都是辉煌的,当我看了他的博客后,才知道他也和我一样,可能和每个oier一样,都是有过心酸,有过失落,有过内心的纠结的,而写下来,往往是最好的方式。我哥也常常这么跟我说。看到他843篇blogs,我感到我真的不能再颓废了,该振作起...
2019-08-02 23:42:38 809 6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人