数学题. 题意是问你能不能逃脱. 当V1的 角速度大于 V2的时候,能够一直保持 V1,O(圆心),V2 三点一线. 跑到一定距离.角速度小于的时候,就以三点一线为初始状态直接跑直线. #include<cstdio> #include<cstring> #include<string> #include<queue> #include<algorithm> #include<map> #include<stack> #i…
题目传送门 /* 贪心/数学:还以为是BFS,其实x1 + 4 * k = x2, y1 + 4 * l = y2 */ #include <cstdio> #include <algorithm> #include <cstring> using namespace std; ; const int INF = 0x3f3f3f3f; char s[MAXN][MAXN]; int main(void) //Codeforces Round #212 (Div. 2)…
Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2668    Accepted Submission(s): 562 Problem Description Sample Input 1 a 2 aa bb 3 a ba abc Sample Output Case #1: 25 Case #2: 132…
题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5285 bc:http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=609&pid=1002 wyh2000 and pupil Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total S…
pid=4415">HDU 4415 题意: 壮哉我Assassin! E叔有一柄耐久度为m的袖剑,以及n个目标士兵要去解决. 每解决掉一个士兵,消耗袖剑Ai的耐久度.且获得该士兵的武器,能够使用该武器解决Bi名其它士兵. E叔要尽可能地消耗更少耐久度解决很多其它的敌人,求最小消耗与最大杀敌数. 思路: 我们把士兵分为两个集合:e1与e2.e1的士兵 Bi = 0 . e2 的 Bi > 0. 我们发现.假设能解决e2的随意一个,e2就可以全灭,那么我们对e2依据消耗进行升序排序,消…
贪心:最贵的留到最后买.状态转移方程:dp[j]=dp[j+a[i]]|dp[j],dp[i]表示余下i元. 原来就不足5元,那就不能买啦. #include<cstdio> #include<cstring> #include <algorithm> using namespace std; int n, p, a[1001], dp[1001], ans; int main() { while(scanf("%d", &n),n) { f…
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2495 Accepted Submission(s): 1363   Problem Description "今年暑假不AC?" "是的. " "那你干什么呢?" "看世界杯呀,笨蛋! " "@#…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4882 ---------------------------------------------------------------------------------------------------------------------------------------------------------- 欢迎光临天资小屋:http://user.qzone.qq.com/593830943…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6095 题目大意: 任意两个人相比,相差大于K,分低的淘汰,否则两人都有可能赢,剩下的继续比,问有最多多少人可能赢? 思路: 排序,如果Ai - Ai-1的值大于k,那从Ai-1开始的人都不可能有机会赢了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #inc…
pro:给定N+1个点的树,有M对关键点,现在让你破坏最少的点,使得M对关键点不连通. sol:贪心,我们把M对点按照LCA深度排序,每次破坏LCA. 如果一对点(u,v,lca),u-lca-v有点被破坏,则可以不用破坏新的点. 我们可以用dfs序+树状数组来处理. 如果破坏了一个点,则给它的子树都+1.  那么u-lca-v有点被破坏等价于,u或者v至少一个属于已经被破坏的点的子树,树状数组查询即可. #include<bits/stdc++.h> #define ll long long…