04 2016 档案

摘要:题意:有n个洞组成一棵树,你有m个士兵,你从1号房间开始攻打,每个洞有a个"bugs"和b的价值。你的一个士兵可以打20个"bugs",为了拿到这个洞的价值b你必须留下k个士兵消灭这个洞的所有"bugs"(k*20>="bugs"的数量,且留下的士兵不可以再去攻打其他的洞,且必须攻打了前面的洞才... 阅读全文
posted @ 2016-04-13 20:03 围巾的ACM 阅读(176) 评论(0) 推荐(0)
摘要:题意: 给你n和m,表示有n个状态和m条单向边 快乐路径表示从1开始,2结束的路径,这个路径中间没有1就可以 问你这些状态哪些是快乐路径上的,哪些不是 思路:两次BFS #includeusing namespace std;const int maxn = 1e6+10;vectore1[... 阅读全文
posted @ 2016-04-13 16:11 围巾的ACM 阅读(240) 评论(0) 推荐(0)
摘要:题意:给你n个袋鼠,然后袋鼠要跳楼梯,你需要选出k个袋鼠出来,跳k个楼梯,第一个楼梯的高度为h,第二个为2h,第三个为3h,第n个为nh,每个袋鼠有两个属性,体重和速度,要求如果i的体重大于j的话,i只能跳比j高的楼梯 你需要使得k个袋鼠跳的最慢的袋鼠的时间最小,然后让你把方案输出 思路:二分最... 阅读全文
posted @ 2016-04-13 16:09 围巾的ACM 阅读(154) 评论(0) 推荐(0)
摘要:题意:给你两个字符串,然后问你第一个字符串的子串和第二个子序列有多少对相同的串 思路:dp[i][j]表示第一个串以i结尾,第二个串以j结尾的方案数,最简单的dp就是dp[i][j]=1+dp[i-1][j-1]+dp[i-1][j-2]+....+dp[i-1][1],然后把前面的弄成前缀和就... 阅读全文
posted @ 2016-04-13 16:04 围巾的ACM 阅读(215) 评论(0) 推荐(0)
摘要:思路:水... #includeusing namespace std;#define LL long long#define Len 20005int n,t,a,cnt,i;int main(){ scanf("%d",&t); while (t--) { ... 阅读全文
posted @ 2016-04-13 10:09 围巾的ACM 阅读(211) 评论(0) 推荐(0)
摘要:思路:恶心模拟...照着题目怎么说就怎么做就好了 #includeusing namespace std;const int maxn = 100000;#define exp 1e-5struct Node{ int id,rank; double score;}nodes[105];in... 阅读全文
posted @ 2016-04-13 10:08 围巾的ACM 阅读(288) 评论(0) 推荐(0)
摘要:思路:直接打两个表就搞完了 #includeusing namespace std;char s1[]= {"-=_+qwertyuiop[]QWERTYUIOP{}asdfghjkl;'ASDFGHJKL:\"zxcvbnm,./ZXCVBNM?"};char s2[]= {"[]{}',... 阅读全文
posted @ 2016-04-13 10:06 围巾的ACM 阅读(167) 评论(0) 推荐(0)
摘要:思路:水题... #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int a[100... 阅读全文
posted @ 2016-04-13 10:05 围巾的ACM 阅读(238) 评论(0) 推荐(0)
摘要:思路:水题... #includeusing namespace std;int T;struct node{ char name[1005]; int w;}nodes[3][105];bool cmp(node a,node b){ return a.w<b.w;}in... 阅读全文
posted @ 2016-04-13 10:04 围巾的ACM 阅读(186) 评论(0) 推荐(0)
摘要:思路:看懂题目之后就随便做了... #includeusing namespace std;#define LL long longconst int maxn = 100005;LL dp[maxn];int hash[maxn];int main(){ int T; scan... 阅读全文
posted @ 2016-04-13 10:02 围巾的ACM 阅读(114) 评论(0) 推荐(0)
摘要:Description For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of ... 阅读全文
posted @ 2016-04-13 10:00 围巾的ACM 阅读(144) 评论(0) 推荐(0)
摘要:思路:找出现次数最多的那个数,如果有多个输出nobody #includeusing namespace std;int a[1001];int T;int main(){ scanf("%d",&T); while(T--) { memset(a,0,sizeof(a)... 阅读全文
posted @ 2016-04-13 09:58 围巾的ACM 阅读(154) 评论(0) 推荐(0)
摘要:题意:给你一个n*m的棋盘,第一个人的目的是让两个棋子合在一起,第二个人是阻止两个棋子合在一起,然后给你两个棋子,第一个人先走,然后第二个人在地上涂胶水,涂过胶水的位置棋子踩了上去就不能动了,问你谁能够胜利 思路:游戏题....慢慢找规律...在WA了快十次之后终于找到3 4这种数据 #in... 阅读全文
posted @ 2016-04-13 09:54 围巾的ACM 阅读(289) 评论(0) 推荐(0)
摘要:题意:给你a串和b串,你能切k次,每次切完将尾部分放在头的前面,问有多少种方案切k次从a串变为b串 思路:令dp[i][0]为砍了i次变成b串的方案数,dp[i][1]为砍了i次变成非b串的方案数,然后预处理一下前缀就可以DP了 #includeusing namespace std;co... 阅读全文
posted @ 2016-04-12 12:54 围巾的ACM 阅读(220) 评论(0) 推荐(0)
摘要:题意:有n个星球,每个星球有m个物品,买需要ai元,卖bi元,只有ci个,你可以在一个星球最多买k个物品,然后在另外一个星球卖出,问最多能卖多少钱 思路:直接暴力枚举在哪个星球买,哪个星球卖,选差价最大的前k个就行了 #includeusing namespace std;int a[20... 阅读全文
posted @ 2016-04-12 12:48 围巾的ACM 阅读(196) 评论(0) 推荐(0)
摘要:题意:给你一个n*m的矩阵,然后问你螺旋线能够覆盖的最大和是多少 思路: 暴力记忆化搜索,滚动数组优化 dp[i][j][len]表示以i,j为起点,正方形边长为len的覆盖的值是多少 dp[i][j][len]显然等于len所在的正方形覆盖的和 - mp[i+1][j] - dp[i+1][j... 阅读全文
posted @ 2016-04-12 00:11 围巾的ACM 阅读(212) 评论(0) 推荐(0)
摘要:题意:给你一个n*m的矩阵,你从(1,0)位置射出一个平行于x轴的光,遇到#号的时候,你可以选择转弯然后你要要到达(n,m+1)这个位置,问你最少用多少个# 思路:最短路一波 #includeusing namespace std;const int maxn = 1000005;vecto... 阅读全文
posted @ 2016-04-11 22:09 围巾的ACM 阅读(212) 评论(0) 推荐(0)
摘要:题意:两个人在玩石头剪刀布,给你一个字符串表示第一个人的顺序,给你第二个字符串表示第二个人石头剪刀布的顺序,玩n局之后,问你两个人各输多少局 思路:求一个lcm之后,然后我们暴力这个lcm里面各输多少局,然后再暴力算余数里面各数多少局。 #includeusing namespace s... 阅读全文
posted @ 2016-04-11 22:06 围巾的ACM 阅读(219) 评论(0) 推荐(0)
摘要:思路:考虑变成系数的形式,显然就是两个的多项式乘法,然后转化成FFT,直接莽一波就完了。 #include#include#include#includeusing namespace std;const int N = 500005;const double pi = acos(-1.0)... 阅读全文
posted @ 2016-04-11 19:53 围巾的ACM 阅读(117) 评论(0) 推荐(0)
摘要:题意:给直线AX+BY+C=0,找出直线上的一个整数点,没有则输出-1 思路:exgcd裸题...数论真是博大精深... #includeusing namespace std;void gcd(long long a,long long b,long long& d,long long& ... 阅读全文
posted @ 2016-04-08 19:23 围巾的ACM 阅读(158) 评论(0) 推荐(0)
摘要:思路:恶心模拟... #includeusing namespace std;const int maxn = 205;int pos[maxn];int num;string s;int d;int n,m;void add(){ cin>>d; int flag=-1; ... 阅读全文
posted @ 2016-04-08 17:02 围巾的ACM 阅读(335) 评论(0) 推荐(0)
摘要:思路:水题 #includeusing namespace std;string s;int vis[10][10];int main(){ int ans1=0,ans2=10; for(int i=1;i>s; int add = 0; for(i... 阅读全文
posted @ 2016-04-08 17:01 围巾的ACM 阅读(233) 评论(0) 推荐(0)
摘要:题意:一串序列,求最长的区间,使得区间最大减去区间最小的差不超过k 思路:枚举起点,二分终点,然后RMQ一下 #includeusing namespace std;const int maxn = 1e5+100;int n,k;int dmax[maxn][20];int dmin[ma... 阅读全文
posted @ 2016-04-06 23:08 围巾的ACM 阅读(249) 评论(0) 推荐(0)
摘要:题意:有一串数字,每一次你可以使一个数字减少a,使相邻两个数字减少b,只能操作2-n-1次 思路:直接暴力DFS一波... #includeusing namespace std;int ans=1e9,h[15],n,a,b;vector T,T2;void dfs(int x,int t... 阅读全文
posted @ 2016-04-06 21:58 围巾的ACM 阅读(246) 评论(0) 推荐(0)
摘要:题意:有n个物品,每个物品吃掉的时间是a[i],一个人从左边开始吃,一个人从右边开始吃,如果两个人同时吃到了一个东西,算左边的。最后问你左边吃了多少个,右边吃了多少个 思路:直接暴力扫吧... #includeusing namespace std;const int maxn = 1e5+... 阅读全文
posted @ 2016-04-06 21:30 围巾的ACM 阅读(269) 评论(0) 推荐(0)
摘要:题意:n行m列的矩阵,c是特殊点,求与特殊点相邻的点有多少 思路:直接暴力扫就行了.... #includeusing namespace std;mapH;char s[120][120];int dx[4]={1,-1,0,0};int dy[4]={0,0,1,-1};int ans;... 阅读全文
posted @ 2016-04-06 21:28 围巾的ACM 阅读(262) 评论(0) 推荐(0)
摘要:题意:四条边选三条,首先求选出来的能不能构成面积为正的三角形,如果不行,问你能不能组成面积为0的三角形 否则输出impossible 思路:水题.. #includeusing namespace std;int a[4];int check(int x,int y,int z){ i... 阅读全文
posted @ 2016-04-06 21:22 围巾的ACM 阅读(189) 评论(0) 推荐(0)
摘要:题意:给一个多项式,然后告诉P(2)!=0,改变其中某一项的系数,使得P(2)=0,问你有多少种改变方法 思路:先正面扫一遍,把所有的系数都往后传,这样除了最后一个数的系数以外,其他的系数都是+-1,0这种然后我们再倒着扫一遍,判断这个数的系数应该是多少就好了。在从后面往前面走的过程中,如果某个... 阅读全文
posted @ 2016-04-06 16:46 围巾的ACM 阅读(165) 评论(0) 推荐(0)
摘要:题意:有个老式计算器,每次只能记住一个数字的前n位。现在输入一个整数k,然后反复平方,一直做下去,能得到的最大数是多少。例如,n=1,k=6,那么一次显示:6,3,9,1... 思路:直接开个set判重即可 #include#includeusing namespace std;in... 阅读全文
posted @ 2016-04-06 09:15 围巾的ACM 阅读(151) 评论(0) 推荐(0)
摘要:思路:两次DFS...先读懂题意.. #include#include#includeusing namespace std;char map[55][55];int num[1000],t,w,h;int dir[4][2]={{1,0},{0,-1},{-1,0},{0,1}};void... 阅读全文
posted @ 2016-04-06 09:13 围巾的ACM 阅读(147) 评论(0) 推荐(0)
摘要:题意:构造一棵树,有N个点,直径为d,深度为h 思路:首先构造一个长度为d的链,然后把其中一个距离边上为h的点变为根。然后我们就不停的在距离根为h上面的那一点不停的加点就好了,使得新加入的点的距离也为h。不过坑点挺多的.... #includeusing namespace std;cons... 阅读全文
posted @ 2016-04-06 09:09 围巾的ACM 阅读(162) 评论(0) 推荐(0)
摘要:题意:给一颗无向树,问删除某一条边后两个连通分支的最小差异值 思路:也是和前几题差不多的思路..直接DFS一波就可以了... #include #include #include #include #include #include #include #include #include #i... 阅读全文
posted @ 2016-04-04 19:58 围巾的ACM 阅读(164) 评论(0) 推荐(0)