12 2018 档案
摘要:P3715 [BJOI2017]魔法咒语 AC自动机+dp+矩阵乘法 常规思路是按基本串建立AC自动机 然鹅这题是按禁忌串建立AC自动机 对后缀是禁忌的点以及它的失配点做上标记$(a[i].ed)$,到时候不访问。 基本串转化为自动机上的边:设$p[j][i]$表示第$j$个节点加上第$i$个串会到
阅读全文
摘要:P4285 [SHOI2008]汉诺塔 递推 题目给出了优先级,那么走法是唯一的。 我们用$0,1,2$代表$A,B,C$三个柱子 设$g[i][x]$为第$x$根柱子上的$i$个盘子,经过演变后最终一定会全部转移到第$g[i][x]$根柱子上 $f[i][x]$表示第$x$根柱子上的$i$个盘子,
阅读全文
摘要:bzoj5421 贴一张图 关于对问题的转化: 当两个人交换收藏品时,显然我们进行这个操作是为了得到更优解。 那么一个收藏品是有用的,另一个被换走的收藏品可以当做直接扔掉了。 所以只要保留一个就可以了。 注意边数、点数要开够 1 #include<iostream> 2 #include<cstdi
阅读全文
摘要:P4169 [Violet]天使玩偶/SJY摆棋子 k-d tree 模板 找了好几天才发现输出优化错了....真是zz...... 当子树非常不平衡时,就用替罪羊树的思想,拍扁重建。 luogu有个点开了O2才过....... 1 #include<iostream> 2 #include<cst
阅读全文
摘要:Description Farmer John has returned to the County Fair so he can attend the special events (concerts, rodeos, cooking shows, etc.). He wants to atten
阅读全文
摘要:Description Every year, Farmer John loves to attend the county fair. The fair has N booths (1 <= N <= 400), and each booth i is planning to give away
阅读全文
摘要:Description 正如你所知,奶牛们没有手指以至于不能玩“石头剪刀布”来任意地决定例如谁先挤奶的顺序。她们甚至也不能通过仍硬币的方式。 所以她们通过"round number"竞赛的方式。第一头牛选取一个整数,小于20亿。第二头牛也这样选取一个整数。如果这两个数都是 "round number
阅读全文
摘要:Description 奶牛们喜欢在黑暗中睡觉。每天晚上,他们的牲口棚有L(3<=L<=50)盏灯,他们想让亮着的灯尽可能的少。他们知道按钮开关的位置,但喜闻乐见的是他们并没有手指。你得到了一个长度为T(1<=T<=7)的插槽用以帮助奶牛们改变灯的状态。 奶牛们喜欢在黑暗中睡觉。每天晚上,他们的牲口
阅读全文
摘要:Description It's a hot summer day, and Farmer John is letting Betsy go to the water park where she intends to ride every single slide. The water park
阅读全文
摘要:P4578 [FJOI2018]所罗门王的宝藏 错解: 设第$i$行上的值改变了$r1[i]$,第$j$列上的值改变了$r2[i]$ 显然密码$(i,j,c)=r1[i]+r2[j]$ 对于同一列上的两个密码$(i_{1},j,c_{1}),(i_{2},j,c_{2})$,它们的差值即为$c_{1
阅读全文
摘要:P2864 [USACO06JAN]树林The Grove 神奇的射线法+bfs 裸的bfs很难写....... 那么我们找一个最外围障碍点,向图的外边引一条虚拟射线。 蓝后bfs时经过这条射线奇数次最后又回到起点的,就是满足条件的路径 最后来个bfs+记忆化 1 #include<iostream
阅读全文
摘要:P2859 [USACO06FEB]摊位预订Stall Reservations 维护一个按右端点从小到大的优先队列 蓝后把数据按左端点从小到大排序,顺序枚举。 每次把比右端点比枚举线段左端点小的数据从优先队列中删掉。 在整个过程中队列的最大长度即为答案。 总之用优先队列模拟一下就ok了 对于luo
阅读全文
摘要:P1985 [USACO07OPEN]翻转棋 其实我们只要枚举第一行的状态,后面的所有状态都是可以唯一确定的。 用二进制枚举灰常方便 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std;
阅读全文
摘要:P2883 [USACO07MAR]牛交通Cow Traffic 对于每一条边$(u,v)$ 设入度为0的点到$u$有$f[u]$种走法 点$n$到$v$(通过反向边)有$f2[v]$种走法 显然经过这条边的方案数为$f[u]*f2[v]$ 两边递推处理$f$数组,然后枚举每条边取个$max$。 1
阅读全文
摘要:P2875 [USACO07FEB]牛的词汇The Cow Lexicon 三维dp 它慢,但它好写。 直接根据题意设三个状态: $f[i][j][k]$表示主串扫到第$i$个字母,匹配到第$j$个单词的第$k$位可以留下的最多字符数 当该位不选时,就传递上一位的数据$f[i][j][k]=f[i-
阅读全文
摘要:P2882 [USACO07MAR]面对正确的方式Face The Right Way $n<=5000$?枚举翻转长度,顺序模拟就ok了 对于每次翻转,我们可以利用差分的思想,再搞搞前缀和。 (输出反了还交,真菜) 1 #include<iostream> 2 #include<cstdio> 3
阅读全文
摘要:Description Farmer John 建造了一个美丽的池塘,用于让他的牛们审美和锻炼。这个长方形的池子被分割成了 M 行和 N 列( 1 ≤ M ≤ 30 ; 1 ≤ N ≤ 30 ) 正方形格子的 。某些格子上有惊人的坚固的莲花,还有一些岩石,其余的只是美丽,纯净,湛蓝的水。 贝茜正在练
阅读全文
摘要:P1606 [USACO07FEB]白银莲花池Lilypad Pond 转化为最短路求解 放置莲花的方法如果直接算会有重复情况。 于是我们可以先预处理和已有莲花之间直接互相可达的点,将它们连边(对,忽略它们)。 于是剩下的就是边权为1的边了。 酱紫我们就成功转化为了边权问题。 蓝后跑跑最短路顺便计个
阅读全文