
ACM 模拟、细节
文章平均质量分 54
嚜寒
盖士人读书,第一要有志,第二要有识,第三要有恒。
有志则不甘为下流;
有识则知学问无尽,不敢以一得自足,如河伯之观海,如井蛙之窥天,皆无识者也;
有恒则断无不成之事。
展开
-
HDU1571
0题目中文1简单的模拟,用了队列。注意,front()是头,back()是尾,先进的在front,后进的从back进2#include #include #include #include #include using namespace std;int mat[1010][1010];int main(){ int n; queue qq; while原创 2016-08-17 21:15:14 · 386 阅读 · 0 评论 -
HDU5573 2015 上海 B题(模拟-找规律)
0题目很简单1思路分析:因为是special判题,所以不止一种可能,我们只看1 2 4 8...2^n这一条路,理论上是可以组成任何数的,以10 4为例子,1 2 4 8 ,之和为15,15-10=5,也就是说减去5的一半,(因为题目要求非加即减,那么减去任意一个数,都相当于所有数的和减去该数两遍),而5%2==1时,不是偶数,我们将5+1=6,6/2=3,从前面的数总共减去3即可原创 2016-08-10 00:48:10 · 1239 阅读 · 0 评论 -
POJ3751 注意格式控制
1 题意,中文题。2 分析。注意格式控制。①格式读入,scanf("%d/%d/%d-%d:%d:%d",&yy,&mm,&dd,&h,&m,&s);②%04d,输出4位,若不够,则补0printf("%02d/%02d/%04d-%02d:%02d:%02d%s\n",mm,dd,yy,h,m,s,time[pm]);下面两个代码有鲜明的对比,良好的控制格式的读入和输出,原创 2016-11-12 20:39:20 · 2095 阅读 · 0 评论 -
UVA505 日期转换(3)——留坑,未A
1题意2分析注意细节以及格式控制3未A,留坑#include #include #include #include using namespace std;char week_name[7][5]={"SUN","MON","TUE","WED","THU","FRI","SAT"};char month_name[13][5]={"XXX","JAN", "FE原创 2016-11-13 15:08:31 · 270 阅读 · 0 评论 -
UVA150 日期计算(4) 新历和旧历的第一天不是同一天
1 题意输入一个日期,判断是旧历还是新历,转换成另一个历法的日期并输出,如果输出旧历,加一个*。2分析①特别注意!新历和旧历的第一天不是同一天!所以旧历比新历提前两天开始。。。【这一点要具体看题目以及题目给出的测试数据是怎么说的了。】②变量较多,注意变量名不要用错,特别是对变量的值进行操作,或者是输出时。③结束输入的判断。char str[10]; 错误: whi原创 2016-11-13 16:52:50 · 398 阅读 · 0 评论 -
UVA10371 日期转换(6) 连写带Debug了3个小时..
1 题意各时区的时间转换。2分析题不难写,但是细节上有点绕:题目给出的12小时的时间,以及测试数据所说的,存在12:40 pm,12:01am,前一个是凌晨的、后一个是中午的。那么选择什么样的思维来编码,对编码复杂度,有很大不同。3学习①模拟题,应该先在纸上,画一个树,画清各种情况(分类)的发展脉络(发展),再动手写就如虎添翼(因为还可能对于题目所给数据进行一些变化,看②),否原创 2016-11-13 23:55:40 · 456 阅读 · 0 评论 -
POJ2003 RE到shi ,树存储的数据结构
1 题意2 分析3 #include #include #include #include #include using namespace std;struct Node{ string name; //char name[60]; Node* parent; list son; Node(){ parent原创 2016-12-05 16:18:58 · 359 阅读 · 0 评论 -
hdu1022
1)模拟题,不要钻牛角尖,第一种模拟思路过不了,就换一个思路再写;另外,每一次WA,都要检查一遍格式准确吗。#include #include #include using namespace std;int main(){ stack z1; int n; string num1,num2; int IN[120],EX[120]; int原创 2016-02-28 16:46:22 · 683 阅读 · 0 评论 -
UVA671 模拟,字符串检查
1题意先给出一些单词构成词典,然后检查所给字符串,是否字典中的单词,如果是则输出“is correct”,或者检查是否满足下面三个条件之一,如果是,那么按输入顺序,输出字典中所有满足条件的单词:是词典中某个单词中某个字母被替换成另一个字母而得到是词典中某个单词增加一个字母而得到是词典中某个单词减少一个字母而得到2 分析1)UVA、POJ同样的题目,UVA好像会增加格式要求啊原创 2016-11-27 21:48:55 · 406 阅读 · 0 评论 -
HDU1258
0该题关键是,如第一个样例中,2+1+1可能会出现两次但是样例输出只有一次,即同一层(递归出现连续相同的数是认可的)里不能连续出现相同的数参与相加,否则前者如果可以成功后者也一定可以成功且两种方法的相加的数是相同的,即前者是可以被后者代替的1#include #include //如果用dfs,找不到头绪时注意是否需要传递更多有这一步的标志性的参数//不要将问题复杂化原创 2016-08-25 11:54:10 · 704 阅读 · 0 评论 -
UVa220 黑白棋游戏
本地运行过,但就是WA,又调了很久,还是没找到错误,从网上找了篇AC代码想对比一下,但是细节变动有点大对比难度让人抓狂,不过很明显的是,两篇代码都还有很多值得优化的地方,索性合在一起大面积改动了一下,AC了,改动后的代码最大的特点就是思路更加清晰!说明模拟题,一要审好题意,二一定要把思路写清,重复的部分就拿出来合在一起,思路就会变得更清晰,代码也更简洁。代码:#include using原创 2015-11-29 18:01:32 · 447 阅读 · 0 评论 -
POJ2080 日期计算(1),模拟题,因为细节WA很久
1 题意,给出2000年1月1日后多少天,换算出年-月-日 星期几。2 分析。比较水的模拟题。编码能力有待提高,思维不够缜密,出了很多错,是很多。注意题目要求输出的数,是有前导0的。3代码一#include #include#include using namespace std;int day;int year;int month;int zhou;in原创 2016-11-06 17:26:58 · 349 阅读 · 0 评论 -
UVA602 日期计算(2)+模拟+细节
1 题意刚开始理解错题意了,不是说以1752年9.2与1752.9.14作为分界线,计算天数时,查询日期在分界线前的天数计算用旧历闰年规则计算;查询日期在后面的、日期就分成两半,界线前的按旧历、界线后的按新历闰年规则计算,不是这样的。如果这样那么新历的延后几天用来弥补之前的误差就没有了意义,而是说:查询日期在1752.9.2之前的,计算天数用旧历的计算闰年的规则;查询日期在1752.9.1原创 2016-11-07 11:13:59 · 293 阅读 · 0 评论 -
HDU5929 Basic Data Structure,ccpc,模拟双端队列(两倍大的数组从中间开始向两旁拓展)
1做题时:容易看出规律,最后一个0的后面的1的个数的奇偶性决定了输出结果,第一次超时后,想到应该记录最后一个0的位置即可,于是想用数组存储0的位置(太麻烦,应该用队列或者数组模拟的队列),同时依然用双端队列模拟全部1和0的操作,从而导致一直超时。重现赛后:看完题解后,领悟到模拟并不是单纯地将所有过程全部死板的模拟一遍,我们在抓住问题的本质(规律)时,应该去繁就简,只模拟需要的部分(去掉无效原创 2016-10-07 21:15:19 · 372 阅读 · 0 评论 -
cf375b_模拟_每个状态结束时,要及时清零标识变量和累积变量
每个状态结束时,要及时清零标识变量和累积变量。#include#include#include#include#include#include#include #include#include#include#include#include#include#include#include#define memset(ss,b) memset((ss),(b),原创 2016-10-04 09:52:59 · 392 阅读 · 0 评论 -
Hiho 1385 模拟,细节
1 一定要让思路和代码,保持简介清晰条理2 如果这个思路写不下去,就换思路重写不要卡在一个思路上太久,可以换个数据结构或者代码组织形式3 如何才能将各种细节尽可能都想到呢。#include//#include#include#include#includeusing namespace std;string s;mapmmat;map::iterator it;原创 2016-09-29 17:31:37 · 320 阅读 · 0 评论 -
UVA712 (好好读题)
0)①敲题之前没理解清题意,输入的x1 x2 x3 是有用的...,要做相应的映射。②(0int i=0;int res;res=pow(2,0); //res==1,没错res=i③自己试验时代码敲了freopen(),Submit前一定要去掉...1)#include #include #include #include using namespac原创 2016-06-12 20:35:21 · 656 阅读 · 0 评论 -
POJ1008 模拟
0)题意: 给出两种日历的规则,写出转换的程序。模拟,注意细节!考验编码能力,比如从0或1开始,如果是某年最后一天的处理等,这种题不能1y都要罚时的话就太不应该了。1)#include #include #include #include #include using namespace std;int _number1;string _number2;int原创 2016-05-17 00:18:59 · 278 阅读 · 0 评论 -
POJ1083 模拟
0)题目大意: 400个房间排成两排,中间是走廊(如题目中的图所示),要从某些房间搬桌子到另一个房间,两个房间进行搬运时中间的走廊包括两个房间门口前的空间都是不能有其他桌子的搬运行为,但只要搬运空间没有交集就可以同时进行,假设每次搬运不论距离长远都是10分钟,问最少一共需要多少分钟。模拟,注意细节即可。这种题目应该1y,连着wa了好几次,确实应该反思:读题注意细节,敲完代码提交之原创 2016-05-17 00:14:51 · 427 阅读 · 0 评论 -
【留坑】UVA246 模拟题,STL容器组合_deque&&(set判重 OR hash判重)
1 题意。2 分析STL用性能换来更强的兼容/方便,当需要判重的type比较复杂时,set.insert(),然后用set.find(),写起来方便一些。如本题,向其学习,代码一用了set。代码二依然用的hash。3 代码一#include #include #include #include //set have insert,not have push_bac原创 2016-11-26 15:31:03 · 393 阅读 · 0 评论