跳至正文

技术

USACO 1.1.4 Broken Necklace

  • OI路程

  这一题以前我就有疑问,为什么代码一定是:

a = b – w;
b = w + 1;
  而不能是:
a = b;
b = 1;
  今天终于是把它给想通了,理由如下:
  这里之所以要写成a = b – w, b = w + 1 而不是a = b, b = 1 的原因我终于是找到了.原因如下:
  假设: 此[……]

继续阅读

USACO 1.1.3 Friday the Thirteenth

  • OI路程

  这一个题目着实考察程序员的其他能力,时间方面我的能力真的很差,总是能把日期记错,把时间弄反,庆幸的是,我还是会看闹钟的,也不知道现在还有没有不会看的人,哈哈。
  代码实现如下:

/
LANG: C
ID: logoo2
PROG: friday
/
#include <stdio.h>[……]

继续阅读

USACO 1.1.2 Greedy Gift Givers

  • OI路程

  这个题目唯一要注意的就是被除数不为0的问题,别的的话就是别太粗心就是,代码如下:

/
LANG: C
ID: logoo2
PROG: gift1
/
#include <stdio.h>
#include <string.h>
struct peo{
&nb[……]

继续阅读

USACO 1.1.1 Your Ride Is Here

  • OI路程

  这一题的话,觉得我的代码函数独立的不错,因为题目毕竟简单,所以也就这么写吧:

/
LANG:C
ID:zqynux2
PROG: ride
/
#include <stdio.h>
#include <string.h>
typedef char [……]

继续阅读

NOIp 2005 提高组 1 谁拿了最多奖学金

  十分简单的题目,以前写过,以为是普及组里最垃圾的题目(普及组的水平都不算),就是算分然后判断,也没什么要注意的(对我来说要注意的就是我错过的地方,这个题目是少量的一次性AC的题目。),代码如下(比以前写的好看很多!):

#include <stdio.h>
struct&nbs[……]

继续阅读

NOIp 2006 提高组 4 2^k进制数

  这题我以前写过的,现在就当是再温习一遍吧,思路就是递推(也就是动态规划)根据一个公式推导出来的DP方程,首先我用f[i][j]表示第i位数以j开头的数字共有多少个,那么最容易得到的一个转移方程是:
  f[i][j] = f[i – 1][j +&[……]

继续阅读

NOIp 2006 提高组 2 金明的预算方案

  首先要考虑的是,如果没有主件和附件的话,那题目将会非常的简单,那这就是最简单的01背包了,但是麻烦的是题目有主件和附件。那我们怎么办呢?不做了?开玩笑,既然你走了OI这条路,那就千万别回头!那我能不能用01背包来处理这个题目呢?当然是能的,注意题目中的这句话“每个主件可以有0个、1个或2个附件。[……]

继续阅读

NOIP 2006 提高组 1 能量项链

  因为以前做过这一题,所以很快就写出来了,不过在一个细节的地方纠结了好久,具体位置见注释。
  思路和以前是一样的,f[i][j] = max(map[i] map[i + a] map[i + j] + f[i][a] + f[i + a][j – i]); f[i][j]表示从第i个珠子往后[……]

继续阅读