2251-2500
Mmh2000
这个作者很懒,什么都没留下…
展开
-
2463: [中山市选2009]谁能赢呢?
题目链接题目大意:n×n的棋盘,先手从左上角开始。两个人轮流移动。每一回合,选手只能向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动了就算输。求最优策略先手能否赢题解:向神题低头Orz 好神的证明! 首先对于n是偶数,一定能被1*2的骨牌覆盖!所以从起点开始,先手一定走的是骨牌的另一端,后手一定走的是骨牌的前一端,因此无论何时,先手总是可以走。因此先手必胜。如原创 2017-01-19 11:08:02 · 431 阅读 · 0 评论 -
2442: [Usaco2011 Open]修剪草坪
题目链接题目大意:n个数,不能连续选取相邻的k+1个,求选出的数的最大和题解:直接搞不太好优化,转化成某初赛题烽火传递 f[i]表示到第i个,i不选,选出的数和的min,f[i]=f[j]+a[i],j≤i−k−1f[i]表示到第i个,i不选,选出的数和的min,f[i]=f[j]+a[i],j\leq i-k-1我的收获:……#include <iostream>#include <cstdi原创 2017-09-08 15:24:30 · 374 阅读 · 0 评论 -
2274: [Usaco2011 Feb]Generic Cow Protests
题目链接题目大意:给出n个数,问有几种划分方案(同一个组内的数连续),使得每组数的和大于等于0题解:f[i]表示前i个数的分组方案数,根据经典转移方法,可得f[i]=∑f[j] | sum(i)−sum(j)≥0题解:f[i]表示前i个数的分组方案数,根据经典转移方法,可得f[i]=\sum f[j]~|~sum(i)-sum(j)\ge 0移项后就是sum(i)≥sum(j),一维偏序,这个明显不原创 2017-09-07 19:54:00 · 398 阅读 · 0 评论 -
2465: [中山市选2009]小球
1原创 2017-08-02 23:26:44 · 464 阅读 · 0 评论 -
2438: [中山市选2011]杀人游戏
题目链接题目大意:有n个人,其中一个是杀手,可以询问一些人,如果是杀手就会死,如果是平民,他会告诉你他认识的人中有谁是杀手有谁是平民,求自身安全并知道杀手的概率最大是多少题解:某个人是杀手的概率相等。考虑到每个SCC只问一个点就可以,进行缩点,缩点后每个SCC对答案贡献等价。 知道谁是杀手相当于知道所有人的身份,设在DAG中选择x个点,使得至少能够遍历n-1个点(确定n-1就可以确定全部),要求x原创 2017-07-14 22:19:41 · 378 阅读 · 0 评论 -
2272: [Usaco2011 Feb]Cowlphabet 奶牛文字
题目链接题目大意:给定若干个顺序,形如AB,表示字母A后面可以接B,求有U个大写字母,L个小写字母的单词的方案数题解:开始想图论乱搞……明显不科学 这种求方案数一般用dp…… f[i][j]表示前i个字母,用了j个大写的方案数 但是这样有后效性……于是加一个k,表示第i个字母 转移显然我的收获:方案数常用方法,加维消除后效性#include <iostream>#include <cstd原创 2017-09-22 07:30:44 · 619 阅读 · 0 评论 -
2330: [SCOI2011]糖果
题目链接](http://www.lydsy.com/JudgeOnline/problem.php?id=1011)题目大意:给定n个点和之间的大小关系,求每个点最少是多少(必须大于0)题解:差分约束 (1)A=B,即为a-b>=0&&b-a>=0,add(a,b,0),add(b,a,0) (2)B>A,即为b-a>1,add(a,b,1) (3)A>=B,即为a-b>=0,add(b,a原创 2017-06-04 20:25:23 · 278 阅读 · 0 评论 -
2387: [Ceoi2011]Traffic
题目链接题目大意:平面图,保证边不在除端点外的地方相交,求每个左侧点(x=0)能到达的右侧点(x=A)的数量题解:删掉不可达的右侧点,容易看出每个左侧点可达的右侧点区间连续,只需要求min和max 然后缩点+dp(或者在反图上按Y递增和递减从右侧染色两次,记录时间差)我的收获:……#include <iostream>#include <cstdio>#include <cstring>#i原创 2017-12-22 11:07:03 · 383 阅读 · 0 评论 -
2321: [BeiJing2011集训]星器
题目链接题目大意:在一个二位矩阵上有一些星器,把两个不相邻的星器互相靠近一格会产生两个星器距离的能量,给出始末状态,求产生的最大能量题解:贴题解就跑我的收获:Orz#include <iostream>#include <cstdio>using namespace std;int n,m;long long sum;void init(){ cin>>n>>m; int x原创 2017-12-15 21:37:34 · 259 阅读 · 0 评论 -
2296: 【POJ Challenge】随机种子
题目链接题目大意:给出一个数x,构造一个数n(n≤1016)n(n\leq 10^{16}),满足x|nx|n且n的十进制表示中包括00~99的所有数字,无解输出-1题解:让前10位为1234567890,设a=1234567890000000+x1234567890,设a=1234567890000000+x 那么a−a那么a-a%xx就是x的倍数了 从而可以看出x=0无解我的收获:智商题……原创 2017-12-15 21:47:50 · 264 阅读 · 0 评论 -
2466: [中山市选2009]树
题目链接题目大意:给定一棵树,每个点有一个0/1的权,一次操作可以使得x和x的直接邻居点权^1,初始均为0,求最少多少次操作可以全部变成1题解:树形dp可以O(n)O(n)解决 但这不重要………………………… 考虑对每个点列出一个xor方程,这样就可以高斯消元了…… 但是有可能有自由元……暴力枚举代入计算我的收获:gauss暴力!#include <iostream>#include <cs原创 2018-01-31 17:27:22 · 281 阅读 · 0 评论 -
2326: [HNOI2011]数学作业
题目链接题目大意:输入n,m,计算123456…n%m题解:递推式:f[n]=f[n−1]∗10k+nf[n]=f[n-1]*10^k+nA=[fi−1i−11] \left[ \begin{matrix} f_{i-1} & i-1 & 1 \\ \end{matrix} \right] B=⎡⎣⎢10k11011001⎤⎦⎥ \left[ \beg原创 2018-02-02 14:52:53 · 221 阅读 · 0 评论 -
2434: [Noi2011]阿狸的打字机
题目链接题目大意:初始字串为空,首先给定一系列操作序列,有三种操作: 1.在结尾加一个字符 2.在结尾删除一个字符 3.打印当前字串 然后多次询问第x个打印的字串在第y个打印的字串中出现了几次题解:建出Trie…… 添加一个字符->新建一个子节点(若存在在不用新建),进入该子节点 删除一个字符->返回到父亲节点 打印当前字串->在当前节点标记是第几个打印串跑出fail指针对于AC自动机原创 2018-02-06 18:40:10 · 223 阅读 · 0 评论 -
2287: 【POJ Challenge】消失之物
题目链接题目大意:ftiasch 有 N 个物品, 体积分别是 W1, W2, …, WN。 由于她的疏忽, 第 i 个物品丢失了。 “要使用剩下的 N - 1 物品装满容积为 x 的背包,有几种方法呢?” – 这是经典的问题了。她把答案记为 Count(i, x) ,想要得到所有1 <= i <= N, 1 <= x <= M的 Count(i, x) 表格题解:f[x]f[x]表示恰好装满x体积原创 2018-02-18 22:26:12 · 307 阅读 · 0 评论 -
2395: [Balkan 2011]Timeismoney
题目链接题目大意:n个点m条边的无向图,每条边有权值c和v,选出一个生成树,最小化∑c∗∑v\sum c * \sum v题解:膜题解我的收获:数形结合套路#include <iostream>#include <algorithm>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#define L原创 2018-03-22 21:50:54 · 227 阅读 · 0 评论 -
2286: [Sdoi2011]消耗战
题目链接$题目大意:给定一棵树,边上有边权,m次询问,每次选定一些关键点,求将1号节点与所有关键点都切断所需的最小花销题解:f[i]表示切断以i为根的子树中所有关键点的最小花销mi[i]表示i到1路径上的最短边,f[i]=min(mi[i],∑f[son])题解:f[i]表示切断以i为根的子树中所有关键点的最小花销 mi[i]表示i到1路径上的最短边,f[i]=min(mi[i],\sum f[原创 2017-08-07 21:33:32 · 312 阅读 · 0 评论 -
2260: 商店购物/4349: 最小树形图
题目链接题目大意:题解:先把购买量为0的物品删掉,剩余所有要买的物品都最少有一个,对于每一种物品,除第一件外,其余均可用最低价格购买,考虑规划顺序,最小化计算买所有物品各一个的代价题目即题解系列以购买量大于0的物品为点建一个虚点为根,向所有点连边,权为原价,这样图就联通啦 对于优惠关系(a,b,f),从a向b连权为f的有向边(a,b,f),从a向b连权为f的有向边然后跑一下就行啦我的收获://it原创 2017-08-10 17:29:32 · 364 阅读 · 0 评论 -
2462: [BeiJing2011]矩阵模板
题目链接题目大意:题解:题目数据比较奇怪,输出10个1就能AC了#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>using namespace std;void work(){ for(int i=1;i<=10;i++) cout原创 2017-01-19 11:22:07 · 472 阅读 · 0 评论 -
2429: [HAOI2006]聪明的猴子
题目链接题目大意:平面上N个点(任意两个点的坐标都不相同)。现已知M个猴子的最大跳跃距离,还知道N个点坐标,统计有多少个猴子可以在所有点上觅食。隐含条件:猴子出发点任意题解:找最大边最小的生成树,也就是最小瓶颈生成树#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>using namespace s原创 2017-01-22 08:53:02 · 302 阅读 · 0 评论 -
2464: 中山市选[2009]小明的游戏
题目链接题目大意:有向图求1到n的最短路。但是有些点在某些点被遍历之后才能走。题解:设d1[x],d2[x]为城市x的到达时间,可进入时间。max(d1[x],d2[x])为真实的进入时间。d[x]记录城市x被多少个城市保护每次堆中取出一个真实进入时间最小的城市更新它所通往的城市的d1,保护城市的d2 保护城市的d–。若d=0,则可入堆复杂度(n+m)logn原创 2017-03-05 17:48:31 · 360 阅读 · 0 评论 -
2431: [HAOI2009]逆序对数列
题目链接题目大意:n种宝物,每个宝物有两个属性: (1)价值;(2)该宝物的集合S,只有得到了集合S中的宝物时才能得到该宝物。每次从一个黑箱子中随机拿出一个宝物k,若k的集合S中的宝物都已经得 到,则k可要(也可不要),否则k不能要。每次拿到任意宝物概率相等。求随机拿K次的最大期望得分。题解:状压dp我的收获:原创 2017-04-03 10:52:36 · 372 阅读 · 0 评论 -
2467: [中山市选2010]生成树
题目链接题目大意: 求出n五角形圈的不同生成树的数目题解: Matrix-tree定理?找规律!首先给每个五边形断掉一条边,还需要从一个五边形中选一条边,用M表示断两条边的五边形。容易发现M必须有一条边在中心n边形上,根据乘法原理,选M有n种情况,M中选1条边4种情况(有一条已在中心n边形上选了),剩下n-1个n边形每个选一条边共5^(n-1)种情况,所以方案数就是 PoPoQQQ大爷题解我的收原创 2017-04-02 18:23:04 · 938 阅读 · 0 评论 -
2456: mode
题目链接题目大意:求众数,内存1M题解:自行google摩尔排序算法我的收获:Orz#include <cstdio>using namespace std;int n,now,tot,x; int main(){ scanf("%d",&n); while(n--) { scanf("%d",&x); if(tot==0)原创 2017-05-21 21:48:25 · 277 阅读 · 0 评论 -
2252: [2010Beijing wc]矩阵距离
题目链接题目大意:01矩阵,求每个元素距离最近的1的距离(曼哈顿距离)矩阵题解:显然不能以0为起点跑0的个数次,考虑反向思维,以1为起点,跑一次多起点的最短路就好了我的收获:多起点最短路#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define mp ma原创 2017-06-14 21:43:25 · 513 阅读 · 0 评论 -
2435: [Noi2011]道路修建
题目链接题目大意:n个点,建立生成树,边的费用等于道路长度乘以道路两端的国家个数之差的绝对值,给定方案,求费用题解:树形dp,会dfs就可以做了我的收获:这是noi……#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int M=100000原创 2017-06-28 21:28:45 · 409 阅读 · 0 评论 -
2298: [HAOI2011]problem a
题目链接题目大意:一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数)题解:补集转化一下,就是求出最多的说真话人数 每个人的可行区间为[L+1,n−R][L+1,n-R]区间的权值为这个区间重复出现次数,选择这个区间意味着可以同时满足这些人,但是区间的权不能超过区间长度,因为人数的限制问题转化为取若干个带权区间,使得权值最大原创 2017-08-02 23:27:14 · 248 阅读 · 0 评论 -
2306: [Ctsc2011]幸福路径
1原创 2017-08-02 23:26:51 · 360 阅读 · 0 评论 -
2425: [HAOI2010]计数
题目链接题目大意:给你一个最多50位的数,求在所有通过由他去掉0和重新排列数字顺序能产生的数中,比他小的有多少个题解:构成的数是原数的排列(包含前导0)记录0−9每个数字出现的个数num[]记录0-9每个数字出现的个数num[]类似数位dp那样按位考虑,当前考虑到第i位,记原数第i位为x,有两种决策类似数位dp那样按位考虑,当前考虑到第i位,记原数第i位为x,有两种决策 1.第i位取0−−x−1,原创 2017-08-26 08:46:53 · 419 阅读 · 0 评论 -
2324: [ZJOI2011]营救皮卡丘
题目链接题目大意:n+1个城市(0到n)。初始时K个人都在0城市。城市之间有距离。要求(1)遍历完n个城市(有一个人遍历了某个城市就算这个城市被遍历了);(2)遍历i城市前必须遍历完前i-1个城 市,并且在遍历前i-1个城市时不能经过大于等于i的城市。在满足(1)(2)的前提下使得K个人走的总距离最小题解:每个点必须经过,且每个点一定从编号较小的点转移而来->DAG最小路径覆盖一个人当前在x点,他想原创 2017-08-22 14:49:30 · 321 阅读 · 0 评论 -
2440: [中山市选2011]完全平方数
题目链接题目大意:求第k个不含有平方数因子(这里不包括1)的数题解:明显没法直接求,二分一下,需要求1–mid中不含有平方数因子的数的个数无平方因子−>μ(i)!=0 莫比乌斯函数大力容斥一波无平方因子->\mu(i)!=0~~莫比乌斯函数大力容斥一波枚举mid−−−−√中的所有质数,Num=0个质数平方的倍数的数量(1的倍数)−1个质数平方的倍数的数量(9,25...的倍数)+2个质数平方的倍数原创 2017-08-21 20:27:44 · 223 阅读 · 0 评论 -
2257: [Jsoi2009]瓶子和燃料
题目链接题目大意:给定n个瓶子,选择k个,可以随便倒油,问最大化选择k个瓶子可以倒出的油数量的最小值题解:我拿两个瓶子YY了一下,以为是取模……好吧,大概类似于辗转相减,所以对两个瓶子,答案为gcd(x,y)由裴蜀定理,若干整数的线性组合一定为它们gcd的倍数,且存在一组解为gcd于是问题变成了n个数中选k个,最大化gcd对每个数分解因数,找最大且出现至少k次的因数即可O(nv√)O(n\sqrt{原创 2017-08-12 16:30:29 · 368 阅读 · 0 评论 -
2428: [HAOI2006]均分数据
题目链接题目大意:把 n 个正整数分成 m 组,最小化各组的均方差题解:模拟退火2333我的收获:2333#include <cstdio>#include <cmath>#include <algorithm>using namespace std;typedef double lf;const int N = 25;int n, m;lf mid, ans;int a[N], p[N原创 2018-03-28 20:19:20 · 336 阅读 · 0 评论