USACO 1.1.4 Broken Necklace
这一题以前我就有疑问,为什么代码一定是:
今天终于是把它给想通了,理由如下:
这一题以前我就有疑问,为什么代码一定是:
这一个题目着实考察程序员的其他能力,时间方面我的能力真的很差,总是能把日期记错,把时间弄反,庆幸的是,我还是会看闹钟的,也不知道现在还有没有不会看的人,哈哈。
代码实现如下:
这个题目唯一要注意的就是被除数不为0的问题,别的的话就是别太粗心就是,代码如下:
这一题的话,觉得我的代码函数独立的不错,因为题目毕竟简单,所以也就这么写吧:
这道题目我的思路很简单,就是模拟,然后每个人都只考虑自己旁边的,后来发现这种思路错了,写出来竟然是0分!!
[……]
十分简单的题目,以前写过,以为是普及组里最垃圾的题目(普及组的水平都不算),就是算分然后判断,也没什么要注意的(对我来说要注意的就是我错过的地方,这个题目是少量的一次性AC的题目。),代码如下(比以前写的好看很多!):
这题我以前写过的,现在就当是再温习一遍吧,思路就是递推(也就是动态规划)根据一个公式推导出来的DP方程,首先我用f[i][j]表示第i位数以j开头的数字共有多少个,那么最容易得到的一个转移方程是:
f[i][j] = f[i – 1][j +&[……]
大部分OJ的题目全部都少了一些,原题见
http://zqynux.blog.163.com/blog/static/167499597201062811365761/
就是简单的贪心,但是要考虑的是首先,A任务的工序2必须在工序1之后完成,而且当满足前面一个条件时(工序2必须在工序1之后完[……]
首先要考虑的是,如果没有主件和附件的话,那题目将会非常的简单,那这就是最简单的01背包了,但是麻烦的是题目有主件和附件。那我们怎么办呢?不做了?开玩笑,既然你走了OI这条路,那就千万别回头!那我能不能用01背包来处理这个题目呢?当然是能的,注意题目中的这句话“每个主件可以有0个、1个或2个附件。[……]
因为以前做过这一题,所以很快就写出来了,不过在一个细节的地方纠结了好久,具体位置见注释。
思路和以前是一样的,f[i][j] = max(map[i] map[i + a] map[i + j] + f[i][a] + f[i + a][j – i]); f[i][j]表示从第i个珠子往后[……]