- 博客(24)
- 收藏
- 关注
原创 2014海大ACM总结
又一次出校比赛,感觉答题时比之前那次好多了。但是成绩并不理想。三道Ac的是A、B、H。一开始A题,用了cin和cout居然TLE一次,以后得注意了。B题,一开始貌似有点问题,一直超时,在优化的时候几乎想了所有的优化方式连++i的时间比i++时间短都用上了,后来题目更正很容易Ac了。H题,锟神打的代码,WA,我debug之后过了。再说说主要由我写的代码D、E、G题,写了三道题,写废了三道题。
2014-12-28 22:47:23 1675
原创 ACM班级对抗赛总结
总算比完了,写写比赛的收获。预赛时长2.5h,我参加的第二场,上午我们班是第六,感觉进决赛没什么压力,打得比较轻松,47min Ac了三道题之后,剩下两个多小时一道题没出。。有道题加上卡oj的bug交C++,故意交错的CE,一共错了十次。。回宿舍换了Xcode之后马上知道是哪错了。。Xcode太好用了,以至于有些依赖它进行debug。。决赛时长4h,开场35min,Ac了三道题,然后一个多
2014-12-20 23:00:32 1669
原创 UVa 11809 - Floating-Point Numbers(取对数)
输入一个用AeB表示的浮点数,求他的尾码和阶码的大小。一开始准备用double保存所有情况,后来发现最大值是2^(2^30)会溢出,直接算不可行,最后使用去对数解决。首先进行打表,求出尾码从0到9时表示浮点数的标准值。对于读入的AeB,用streamstring读出A、B的值,然后用对数法求对应的m和e,当所求值与之前算的标准值误差小于EPS时就是所求解。
2014-12-18 12:22:40 1718
原创 UVa 11646 - Athletics Track(几何)
给出跑道内矩形的长宽比,求长和宽,跑道一圈400米,两边的弧属于同一个圆。简单的几何题,求出长和宽的表达式输出就好。
2014-12-07 12:44:47 1403
原创 UVa 11136 - Hoax or what(可重集)
超市促销活动,每天从箱子里把最大和最小的小票拿出来,送出等于其差值的奖金,求送出的总和。使用可重集本身就是有序排列,不会超时每次从中取出头尾两个元素求差的和。要注意数据量大,用cin、cout要关闭流同步,还有求和应该使用long long。
2014-12-07 12:19:22 1359
原创 UVa 11609 - Teams(组合数+快速幂)
有n个人,选一个或多个人参赛,其中一人为队长,求有多少种选法,结果对100000007取模。根据题意结果为1*C(n,1)+2*C(n,2)+……+n*C(n,n)对100000007取模的值。有组合数公式:1*C(n,1)+2*C(n,2)+……+n*C(n,n)=n*2^(n-1)然后用快速幂取模就好了。
2014-12-07 01:20:23 1602
原创 UVa 11889 - Benefit
b一定为c/a的倍数,lcm=a*b/gcd,lcm*gcd=a*b。然后枚举。PS:一开始忽略了相乘会爆掉int这个问题。。WA了两次。。#include#includeusing namespace std;int gcd(int a,int b) { return (b?gcd(b,a%b):a);}int main(){ int n; cin>>n
2014-12-07 00:32:02 1446
原创 UVa 11388 - GCD LCM
求以给出两数为最大公倍数和最小公约数的两个数,且第一个数要求最小。简单分析就出来了。#includeusing namespace std;int main(){ ios::sync_with_stdio(false); int n; cin>>n; while(n--){ int g,l; cin>>g>>l;
2014-12-06 23:06:42 1424
原创 UVa 11489 - Integer Game
先手的人优先选取与总和对三求余的数相同的数字,然后每次取数只能取3的倍数。#includeusing namespace std;int main(){ ios::sync_with_stdio(false); int n,t=0; cin>>n; while(n--){ string s; cin>>s; i
2014-12-06 22:50:24 1393
原创 UVa 11461 - Square Numbers
求完全平方数的数目,打表解决快点#includeusing namespace std;bool a[100010];int main(){ ios::sync_with_stdio(false); for(int i=1;i<317;i++) a[i*i]=true; int m,n; while(cin>>m>>n){
2014-12-06 21:58:02 1350
原创 UVa 10905 - Children's Game
字符串排序题,排序输出就行#include#include#include#includeusing namespace std;bool cmp(string s1,string s2){ return s1+s2>s2+s1;}int main(){ ios::sync_with_stdio(false); int n; while(cin>>
2014-12-06 14:11:40 1374
原创 UVa 10382 - Watering Grass
贪心法,区间覆盖问题。蓝书开始这几道题还真是水啊。#include#include#include#includeusing namespace std;struct sp{ double o,r,l1,l2; bool operator <(const sp &a)const{ if(l1==a.l1) return l2<a.l2;
2014-12-05 22:34:04 1374
原创 UVa 10970 - Big Chocolate
水题巅峰,算数题。。#includeusing namespace std;int main(){ int n,m; while(cin>>n>>m) cout<<m*n-1<<endl; return 0;}
2014-12-05 21:33:42 1281
原创 UVa 11039 - Building Designing
又是水题,排序+计数遍历。#include#include#include#includeusing namespace std;bool cmp(int a, int b){ return abs(a)<abs(b);}int main(){ ios::sync_with_stdio(false); int n,t; cin>>t; wh
2014-12-05 21:01:06 1334
原创 UVa 11636 - Hello World!
这么水的道题,居然WA了一次,看样例最后是-1,就用n==-1,做break的判断了,万万没想到,居然最后是个负数就break。。#includeusing namespace std;int main(){ ios::sync_with_stdio(false); int n=0,a[20]={1},t=0; for(int i=1;i<20;i++) a[i]=
2014-12-05 19:53:16 1332
原创 UVa 225 - Golygons(DFS+回溯)
在一个平面上从原点出发,走n步,第i步走的距离为i,每一步都必须转向90度。有k个障碍物,不能穿过。给出步数和障碍物位置,问有多少种可行路径。输入有负数,但仍然可以使用数组,将g[maxn][maxn]作为原点。(x,y)用g[maxn+x][maxn+y]表示。进行DFS,注意是否有障碍物,当剩下的步数走不回原点时,回溯。
2014-12-05 16:00:19 1507
原创 UVa 208 - Firetruck(DFS判连通+回溯)
输入n个结点的无向图和一个结点k,按照字典需输出用结点1到k的所有路径。首先从k开始dfs将所有与之连通的结点标记,若1位被标记则无解。然后从结点1开始dfs,只对和k连通的结点进行。找到之后输出。
2014-12-05 00:16:31 1427
原创 UVa 129 - Krypton Factor(DFS+回溯)
输出由前L个字母组成的第n个困难的串。困难的串是不包含相邻重复子串的串。用困难的串生成一个串时,仅对其后缀进行判断,看是否是一个困难的串。不是就回溯继续生成。
2014-12-04 10:57:12 2201
原创 UVa 1610 - Party Games(细节处理)
输入一个含有偶数个串的集合,求一个字符串s0,使集合中一半的串大于s0,另一半小于等于s0,多解输出字典序最小的解。只需将s与中间两个串比较即可。新串s0从空串开始,每次循环加上一个s1中对应位置的字符。只要满足条件就跳出循环,输出。
2014-12-04 00:29:36 2321
原创 UVa 1149 - Bin Packing(贪心+二分查找)
简单的贪心问题。输入n个物品的重量,背包的容量m,每个背包最多装两个物品,问需要多少个背包。思路很简单,最小的和最大的匹配,装不下就改找比那个小一点的。匹配要用二分查找,遍历会超时。
2014-12-03 21:53:31 1699
原创 UVa做题阶段性总结(2014-12-01)
刷题50天了,数据结构差不多看完了,马上就要进入暴力求解了,暴力求解里的回溯法貌似很难的样子。感觉离百题不远了,但是准备从十七周开始不再长时间刷UVa题,每天至多1h,直至期末考试结束。。所以14年内百题希望不大。。
2014-12-01 23:50:44 1494
原创 UVa 246 - 10-20-30(模拟+判重)
介绍了一个游戏规则,输入牌堆,要求输出胜负或者平。用vector进行模拟,set储存状态,出现重复状态就是平。
2014-12-01 23:30:43 1768
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人