ACM 其他
文章平均质量分 79
嚜寒
盖士人读书,第一要有志,第二要有识,第三要有恒。
有志则不甘为下流;
有识则知学问无尽,不敢以一得自足,如河伯之观海,如井蛙之窥天,皆无识者也;
有恒则断无不成之事。
展开
-
hdu1005(大数计算可能有规律)
1)原题代码#includeint main(){ int a,b,c,i; int ab[50]; ab[1]=1;ab[2]=1; while(scanf("%d%d%d",&a,&b,&c)) { if(a==0&&b==0&&c==0)break; for(i=3;i<50;i++) {原创 2016-02-01 23:59:18 · 504 阅读 · 0 评论 -
UVA679模拟小球降落(大数模拟超时是找规律)
1)直接模拟,超时#include #include using namespace std;const int maxn=20;int depth=0;int num=0;int binary_tree[1<<maxn];//!左移符号,当左边的数为1时,其左移后相当于返回2^maxnint found(int i){ int tem=1<<(depth-1);原创 2016-02-03 20:55:23 · 556 阅读 · 0 评论 -
关于字符数组与string类的比较(长度以及)
1)获取长度的比较:#include #include using namespace std;int main(){ char a[3]={'b','\0','s'}; //cout<<a.length<<endl; //cout<<a.size()<<endl; cout<<strlen(a)<<endl;//1 cout<<sizeof原创 2016-01-31 16:44:40 · 1291 阅读 · 0 评论 -
做题小常识
1)换行和回车的区别2)数组最大长度3)判断一个数k是不是素数4)知道三边计算该三角形面积(海伦-秦九韶公式 )原创 2016-01-31 17:31:13 · 688 阅读 · 0 评论 -
POJ3615 超多次输入输出数据 Scanf比cin速度快很多(最短路 Floyd)
0)这是个裸的Floyd,但是因为用了cin而不是scanf,一晚都在超时!scanf的读取速度比cin快,对于有些输入次数很多的题,用cin会超时(cout与printf速度差别不大),比如下面这个题,1)是用scanf,时间400ms左右,2)是部分用scanf,部分用cin,时间是800ms左右,3)如果再把剩下的任何一个scanf改成cin,就会超时1)#include原创 2016-04-17 21:48:49 · 1120 阅读 · 0 评论 -
UVA11280 最短路 + SPFA变形 + 单向链表存储边 + 结构体构造函数 + 鲁棒性
1)这道题有很多需要学习的地方,除了code技巧上的运用比如链表存储边、初始化、结构体构造函数,在思维上也有很多比如判断走哪个点除了花费以外还加了对停留次数的判断、而停留次数可能大于城市个数(对于查询数据做一个鲁棒性的判断)等等。值得经常#include #include #include #include #include using namespace std;const原创 2016-04-18 12:11:05 · 536 阅读 · 0 评论 -
如何对拍数据
1对拍程序(注意对拍程序中的文件名,要与两个被测程序和数据生成器的名字相同,而且要与这三个程序源码中的名字相同,如在数据生成器main开头写上freopen("temp.in","w",stdout);ac测程序main开头写上 freopen("temp.in","r",stdin); freopen("tempac.in","w",stdout);被检测程序main开头原创 2016-04-22 18:59:55 · 2481 阅读 · 2 评论 -
POJ2704 DP + 记忆化搜索 + 注意中间存储数据用long long不然WA
1)注意中间存储的数可能超出int范围,所以开long long ,否则越界以后,给一个随机数,就会WA。虽然方格最大是34×34,每次选择向下或者向右,那么路径数最多可能为2^(34+34-1)-X2^(34+43+1) 可以这么理解,把正方形从左上角起点开始拆成二叉树的形式来看,诸如1 2 3 42 3 4 53 4 5 64 5 6 71、2 、3 、4原创 2016-04-23 20:58:50 · 355 阅读 · 0 评论 -
HDU1671 ①string char一维/二维数组 的比较 ②字典树
0)题意:寻找是否有一个字符串是另一个字符串的前缀的情况。注意:①加typedef,之后的代码中关于phone[i]都会报错,是因为此时的phone成了struct Phone 的别名。得在结构体之后,重新phone phone111[10010],然后用phone111[i]是可以的。typedef struct Phone{ char number[12];原创 2016-05-15 15:37:09 · 416 阅读 · 0 评论 -
HDU1216 练习一下打表(模拟题)
模拟题要好好看清题意这很重要,然后可以举几个简单例子及其过程,按着写。0 打表代码:#include using namespace std;const int maxn=1000100; int gg[maxn];int main(){ int star=2; for(int i=2;i<=maxn;i++){ gg[i]=i; }原创 2016-07-18 22:44:14 · 1521 阅读 · 0 评论 -
HDU5821 贪心,排序(+sort结构体排序,稳定性和不稳定性)
Note:这个题无关Sort的稳定性问题,只是突然想起,不稳定排序的sor如何写cmp函数才变成稳定性排序,就是把return a1.value0题目很清楚1每个数的归宿都是唯一的,第一个数组要变成第二个数组的样子,如果可以,那么每个数都对应唯一的正确位置,而位置就是1到n,所以每次输入一个调整的区间,就将该区间内的数sort。2#include #include #i原创 2016-08-15 16:42:06 · 398 阅读 · 0 评论 -
Vector清空数据与释放内存(.clear与.swap的区别与使用)
0)简单介绍在vector的数据结构中,.clear();清空数据.size();当前vector容器内存储的元素的个数.capacity();当前vector容器重新分配内存之前所能容纳的元素数量.swap();函数交换1)问题在用vector做题时,输入完一组数据处理完后,及时clear(),然后输入下一组数据,但是如果在输入之前,输出之前vecto原创 2016-04-18 20:22:13 · 56743 阅读 · 7 评论 -
小知识点汇总
转自:http://www.cnblogs.com/burellow/archive/2011/06/03/2071964.html设一个n位数number,从个位起每一位为a1 ... an则number = a1 + a2 * 10 + a3 * 10^2 + ... + an * 10^n-1; (1) 先证必要性:如果number的各位数之和是3的倍数,则a原创 2015-11-18 23:54:02 · 449 阅读 · 0 评论