NOIP 2008 提高组 双栈排序 解体报告
这个题目我的思路很简单,就是读入一个数据,判断是否小于s1的顶元素,如果是则讲数据压入s1,否则该数据是否小于s2的顶元素,如果是则将它压入栈s2。然后再判断s1的顶是否等于当前需要输出的值(就是安顺序来是不是对的),如果是就输出b。再同样判断s2,如果是就输出d。
很可惜,只有30分,代码如[……]
这个题目我的思路很简单,就是读入一个数据,判断是否小于s1的顶元素,如果是则讲数据压入s1,否则该数据是否小于s2的顶元素,如果是则将它压入栈s2。然后再判断s1的顶是否等于当前需要输出的值(就是安顺序来是不是对的),如果是就输出b。再同样判断s2,如果是就输出d。
很可惜,只有30分,代码如[……]
这题我以前就看过,一直不会做,后来看到别人说双线程动态规划,我以为是多么多么的神奇的一个东西,把它看的和Linux源码一样神奇了,现在学了之后也就是简单的DP,我用的四维DP,别人都说是三维,我先用四维做,以后再考虑三维(也许不会再考虑这一题了咯。)
我的方程如下:f[a][b][c][d][……]
一道DP题,DP的方程很简单:
f[a][b][c][d][e] = min(f[a][b][c][d][e], f[a – cost[0][0]][b – cost[0][1]][c – cost[0][2]][d – cost[0][3]][e – cost[0][4]], f[[……]
这个题目很简单,不过我也提交了两次。。问题见注释。
#include <math.h>
#include <stdio.h>
#include <string.h>
char str[101];
int count[26[……]
刚刚拿到题目感觉非常容易,第一次提交,发现把数据写错了,6是6根火柴,我写的5根。第二次提交我发现题目不止是个位的运算,还可以十位,百位。。第三次提交,AC了,不过效率太慢了,代码如下:
#include <stdio.h>
int num[10] = {6,&nbs[……]
苦难的题目,我做着题只有一个想法:深搜,,暴力搜索!但是就连样例都超时了,我就直接找题解去了。
网上找到一个题解,用位运算做的,大概看了下就开始仿造着写,去掉了感觉无用的功能(其实很有用),结果超时了。。。超时代码如下,75分。
#include <stdio.h>
#def[……]
Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson 正在思考一个有趣的问题。
今天在课堂上,老师讲解了如何求两个正整数c1 和c2 的最大公约数和最小公倍数。现在Hankson 认为自己已经熟练地掌握了这些知识,他开[……]
今天把NOIP 2009的所有题目做了一遍,当做考试来做,结果只做出了这一题,而且还只有90分。。死心了。。
代码如下:
/*要注意:
* 1.\'A\'-\'Z\'扫描完毕就停止, (不管内容还有没有~!)
* 2,长度小于26就Failed
* 3,[......]
欧拉回路,我知道怎么做,但是我不知到为什么可以这么做!,囧囧;就当是背课文把,反正这就是欧拉回路。
如果有节点的度为奇数就从它开始,否则就从最小的开始,然后就是看下面的代码把:
#include <stdio.h>
#define MAXV 500
#define MAXE 1024[......]