【BestCoder Round #93 1004】MG loves set】的更多相关文章

[题目链接]:http://acm.hdu.edu.cn/showproblem.php?pid=6022 [题意] 让你求一个集合的子集数目; 这个子集有要求; 即: 它所有元素的平方的和小于它所有元素的和的平方. [题解] 假设一个集合大小为3元素为a1,a2,a3 则 a12+a22+a32<=(a1+a2+a3)2 化简一下可以得到 a1∗a2+a1∗a3+a2∗a3>=0 所以原限制条件其实可以转化为一个集合里面任意两个数的乘积的和大于等于0; 但是你不好直接去枚举这个集合的子集:…
[题目链接]:http://acm.hdu.edu.cn/showproblem.php?pid=6019 [题意] 每次选择一段连续的段,使得这一段里面没有重复的元素; 问你最少选多少次; [题解] 从第一个元素开始一直选就好; 不能选了就把之前的记忆清除掉; 然后重新开始选;重新记忆选过哪些元素; 写个map就好. [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,rt<<1 #defin…
[题目链接]:http://acm.hdu.edu.cn/showproblem.php?pid=6020 [题意] 给你一个长度为n的数字,然后让你删掉k个数字,问你有没有删数方案使得剩下的N-K个数字是3的倍数; [题解] 这里我们枚举最后N-K个数字它的最高位是第几位; 这样我们就能在枚举最高位的时候直接判断这个数字是不是0;这样对合法性的处理就简单很多了; 我们枚举第i位是最高位,言外之意就是说前i-1个数字已经全部被删掉了; 则我们要在i+1..n这些数字里面再删掉k-i+1个数字才行…
[HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP) 题面 有三个人从一张N个点无重边的有向无环图上的三个点出发,每单位时间,他们分别选择当前点的一条出边走下去.有向无环图点有点权,任意时刻他们所在的三个点两两点权相差不超过K.他们可以在任意三个点同时结束.求合法的路径总数.N≤50. 分析 暴力的做法,设\(dp[i][j][k]\)表示第一个人在i,第二个人在j,第三个人在k的方案数,然后枚举三个人接着到的地方x,y,z,倒推\(dp…
MG loves string  Accepts: 30  Submissions: 67  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 262144/262144 K (Java/Others) 问题描述 MG是一个很忙碌的男孩子.今天他沉迷于这样一个问题: 对于一个长度为N的由小写英文字母构成的随机字符串,当它进行一次变换,所有字符i都会变成a[i]. MG规定所有a[i]构成了26个字母组成的排列. MG现在需要知道这个随机串…
MG loves apple  Accepts: 20  Submissions: 693  Time Limit: 3000/1500 MS (Java/Others)  Memory Limit: 262144/262144 K (Java/Others) 问题描述 MGMG是一个财富爆表的男孩子.他拥有N(1<=N<=100000)N(1<=N<=100000)个苹果,每个苹果上标有一个数字00~99,代表它的价值. 一个合法的数字是不含有前导零的,这nn个苹果恰好排成了一个…
[Link]:http://www.ifrog.cc/acm/problem/1146 [Description] [Solution] 设f[i]表示在第i个点休息的话最少需要的体力值; f[i]=min(f[j]+2x[i]−x[j]+a) (j<i) 答案为f[n] 注意,如果每个点都休息的话; 总的花费是不会超过260 所以,当x[i]-x[j]>60, 直接break 然后把x值相同的,直接去掉就好,(肯定不用停,因为停了又不会前进); (以防所有坐标都一样,卡时间) [Number…
[链接]点击打开链接 [题意] 让你选择n个数字,组成一个数组,使得这n个数字中恰好有k对,它们是互质的. [题解] 我们可以先找出前n个质数,那么接下来的问题就转化为,凑出rest = n*(n-1)/2-k对不互质的数来. 我们先找出最大的t,且满足t*(t-1)/2 <= rest. 这里的t是两两之间都不互质的数的数目. 我们可以把我们取的n个质数中的前t个质数都乘上2.(这里我们取的n个质数要从5开始取) 这样就凑了t*(t-1)/2对不互质的数了.(它们的gcd为2) 接下来处理re…
[链接]点击打开链接 [题意] 给你n个点m条边的无权无向联通图; 让你找3个点A,B,C 使得A->B=B->C=A->C 这里X->Y表示点X到点Y的最短路长度. [题解] 考虑一个出度大于等于3的点x. 任取其3个出度a,b,c 如果a和b有边相连,则输出x,a,b->一个长度为3的环 如果a和c有边相连,则输出x,a,c 如果b和c有边相连,则输出x,b,c 上面三种情况都排除了,则直接输出a,b,c 显然,它们互相之间的最短路都为2,因为上面的判断已经把最短路为1的…
[链接]点击打开链接 [题意] 有一辆火车,它的长度为L,然后假设这辆车现在随机可能地出现在0..D之间,然后假设它已经耗光了油. 问你它需要走的期望距离是多少. 这里要走的距离指的是车里最近的加油站的距离 如果车覆盖了加油站那么它不用动. 一开始给你n个加油站的位置,同时0和D也有一个加油站 [题解] 把这些加油站按照x顺序排(0和D也有加油站); 然后看看x[i+1]和x[i]的间隔temp = x[i+1]-x[i]: 然后如果间隔temp小于等于L,则直接跳过. 否则大于L的话; 则分成…