luoguP3034 [USACO11DEC]牛摄影Cow Photography 题目 考虑对于任意两头牛a和b,假设a在b前面。 他们在5张照片中,至少有3张照片,a在b前面,剩下一张可能是a移到了后面,还有一张可能是b移到了前面,但无论如何,至少有3张照片他们的相对位置保持不变。 这 … Read more
luoguP1291 [SHOI2002]百事世界杯之旅 题目 假设有n个不同名字 先抽一次,必定抽出一个新的——ans+1 再抽第二次,这时有(n-1)/n的概率能抽到新的,所以期望抽n/(n-1)次能抽到新的——ans+n/(n-1) 再抽第三 … Read more
luoguP3946 ことりのおやつ(小鸟的点心) 题目 跑出每个点被雪覆盖的时间 跑dijk,如果到这个点的最短时间超过限制,就置为不连通。 #include<bits/stdc++.h> #define N 100010 #define M 500010 #define INF 99999999999999999 … Read more
luoguP1875 佳佳的魔法药水 题目 这道题目有点奇怪。 我交堆优化dijk,怎么样都A不掉,都只有10分。 检查了7个小时,重构过,依然不行。 然后放下尊严写邻接矩阵写堆优 … Read more
luoguP1962 斐波那契数列 题目 #include<bits/stdc++.h> #define mo 1000000007 #define md(a) ((a)%mo) #define ll long long #define fsb(a,b,c) for(int a=b;a<=c;a++) #define fbs(a,b,c) for(int a=b;a>=c;a--) using namespace std; struct mt{ ll a[5 … Read more
luoguP2052 [NOI2011]道路修建 题目 O(n)用树上DP或者拓扑跑一遍 拓扑:当度为1时,加入队列,每次f[i]被加时,度-- 代码是树上DP的 #include<bits/stdc++.h> #define N 1000010 #define abs(a) ((a)>0?(a):(-(a))) #define mem(a,b … Read more
luoguP3871 [TJOI2010]中位数 题目 显然中位数为排序后第(n+1)/2个数 define m (n+1)/2 考虑维护两个堆 一个大根堆(s1),里面为前m个元素;一个小根堆(s2),里面为后n-m个元素 修 … Read more
luoguP1363 幻想迷宫 题目 #include<bits/stdc++.h> #define N 1600 #define INF 99999999 #define md(a,b) (((a)%b+b)%b) #define fsb(a,b,c) for(int a=b;a<=c;a++) #define fbs(a,b,c) for(int a=b;a>=c;a--) using namespace std; int sx,sy … Read more