日志分类:C语言

碉堡了

时间:2011年10月22日作者:坏男孩查看次数:576 views评论次数:7

NOIP2011,彻底的杯具了。

初赛真心太水了。此难度只应幼稚园有。。瓦擦的劳资就是考崩了。。看程序写结果错了两个。

于是我就碉堡了。成绩下来是73分。。

此分数放在往届任何一年都算是高分,今年就是木有进复赛。伤不起啊。

芜湖一中似乎已经彻底放弃信息学竞赛了,整个高一只有三个人进了复赛。而兄弟学校安师大附中进了二十几个。

曾经的辉煌霸气全无,江涛的时代是仅剩的骄傲。

分类:C语言, 学校

NOIP2011

时间:2011年10月15日作者:坏男孩查看次数:697 views评论次数:6

NOIP2011又来临了,提高组的比赛在今天14:30正式打响。

如今,坐在电脑前的我已经无法淡定了,这将是我第一次裸考NOIP。

真心求RP。

while (1){RP++;}

分类:C语言

Tyvj——又一个在生死边缘的OJ

时间:2011年09月25日作者:坏男孩查看次数:773 views评论次数:5

当你看到这篇文章的时候,也许Tyvj还活着,也许已经永远属于过去。

2006年,第一个备受关注的OJ平台——Vijos诞生了。但是在BUG众多的日子里徘徊着,一度暂停运行了半年之久。

2008年11月,Vijos重新开放,然而BUG依旧众多,但在Vivan Snow团队的努力下,逐渐成型,成为广大OI爱好者的最爱。

2009年12月,在勉强度过NOIP2009之后,Vijos正式宣布停止服务。而原太原成成中学内部OJ——Tyvj宣布对外开放。

逐渐的,OIer们在Tyvj又找回曾经AC的快乐。。。然而。。。 继续阅读:Tyvj——又一个在生死边缘的OJ»

分类:C语言

谎言?谬论?笑话?→→事实!

时间:2010年12月12日作者:坏男孩查看次数:1,590 views评论次数:2

前一阵子我写了文章,彻底的告别了NOIP,也说了分数线是270分,而我考了260分的悲剧。

但是这一切只是传说。。。

就在这个星期四,李老师(班主任)在上课的时候,突然接了一个电话,然后申请凝重的走了进来。大家都猜不是什么好事,准备继续上课。没想到,李老师说分数线降到200分,全国统一的分数线。额……同时也宣布班上有9个同学拿了双一等,而对手二十七中有29个双一等。。。顿时傻了眼。可能又要变政策了。。难不成两个一等奖都不保送了?

先自我欢乐一下,双一等奖啦!~~

恩,接下来就是文化课,希望再次拥有好运气。

不只是一场杯具、

时间:2010年11月21日作者:坏男孩查看次数:1,891 views评论次数:15

天生我材必有用。终究我不是搞信息学竞赛的材啊。这次NOIP2010普及组的复赛试卷只用一个字可以形容——水。不仅水而且甚水。以至于任何算法都不用就可以直接400分。只是抱怨。。。

在一场痛哭之后,静心思考下,对,这仅仅是一场游戏,玩你的游戏。去年市教育局改了政策:一等奖加20分,两个一等奖才可以保送。今年只能放手一搏,再冲一把。可是我们被玩了。一场莫名的复赛。所有算法都被出题老师无视了,考前一周的魔鬼训练一丁点用都没有,那些上课还玩游戏的都能拿一等奖。之前老师告诉我们考一等奖就只要做好前两题就OK了。结果今年告诉我分数线是270,至少做出3题才可以拿一等奖。教育局的老师还说了,今年他们集训的强度是前所未有的,只要是考试大纲之内的,都会全面的教一遍。于是开始铺天盖地地讲无数种算法。结果考试一个都没用上……

但是,这也不怪他们。我也懵了。考试的时候,我只用一个半小时就做好4题了。然后整个人开始浮躁了。唉!~怎么办呢。。我的性格就是如此,被骂了很多回,就是改不好。现在后悔也没有用了,有的只是一张“二等奖”的废纸。

浪费了三个月,这三个月的所有艰辛都白白的浪费了。所有的寄托也都成了泡影。也许大家还不明白这场考试意味着什么。我丢了三个月的文化课,班级排名跌了20名,就为了争取一个宝贵的保送名额,真觉得我错了。

昨天,教育局又发布一条令人震撼的消息,从下一届新高一开始,NOIP的保送名额不再拥有,又给我们这些信息学选手一个重磅打击。

在此,我心痛,但是我不得不对我心爱的C语言说再见,不得不对NOI说再见,不得不为我的信息学道路画上不圆满的句号。

最后,感谢父母,感谢老师,感谢大家!~

NOIP2010提高组复赛试题(Word版本)+测试数据

时间:2010年11月20日作者:坏男孩查看次数:3,564 views评论次数:0

强势推出“NOIP2010提高组复赛试题(Word版本)+测试数据”。

试题:http://u.115.com/file/f45bdbc6c5    http://dl.dbank.com/c0pobakytn
测试数据:http://u.115.com/file/f434b1f1af   http://dl.dbank.com/c0pobakytn

普及组稍等。。。

标签:,分类:C语言, NOIP相关

高精度四则运算——加法,乘法,减法

时间:2010年11月19日作者:坏男孩查看次数:1,245 views评论次数:2

高精度加减乘(没有除法。。高除单较简单,高除高几乎无用)

一、高精度加法

#include <iostream>
using namespace std;
int t[1001];
int x[1001],y[1001],i;
void Add( int c[], const int a[], const int b[] ){
     int i;
     t[0]=(a[0]>b[0]?a[0]:b[0]);
     for( i=1; i<=t[0];i++){
          t[i]+=a[i]+b[i];
          t[i+1]+=t[i]/10;
          t[i]%=10;
     }
     if( t[t[0]+1])++t[0];
     for (i=0;i<=t[0];i++)c[i]=t[i];
}
int main () {
    cin>>x[0]>>y[0];
    for (i=x[0];i>=1;i--){
        scanf ("%1d",&x[i]);
    }
    for (i=y[0];i>=1;i--){
        scanf ("%1d",&y[i]);
    }
    int z[1001];
    Add (z,x,y);
    for (i=z[0];i>=1;i--){
        cout<<z[i];
    }
    system ("pause");
    return 0;
}

二、高精度乘法

#include <iostream>
using namespace std;
int t[1001];
int x[1001],y[1001],i;
void Mul(int c[],const int a[],const int b[] ){
     int i, j;
     for( i=1; i<=a[0]; ++i )
     for( j=1; j<=b[0]; ++j ){
          t[i+j-1]+=a[i]*b[j];
          t[i+j]+=t[i+j-1]/10;
          t[i+j-1]%=10;
     }
     t[0]= a[0]+b[0];
     while((t[t[0]]==0)&&(t[0]>1))--t[0];
     for (i=0;i<=t[0];i++)c[i]=t[i];
     return;
}
int main () {
    cin>>x[0]>>y[0];
    for (i=x[0];i>=1;i--){
        scanf ("%1d",&x[i]);
    }
    for (i=y[0];i>=1;i--){
        scanf ("%1d",&y[i]);
    }
    int z[1001];
    Mul (z,x,y);
    for (i=z[0];i>=1;i--){
        cout<<z[i];
    }
    system ("pause");
    return 0;
}

三、高精度减法

#include <iostream>
using namespace std;
int t[1001];
int x[1001],y[1001],i;
int  CompareNum( const int a[], const int b[] ){
     if( a[0] > b[0] ) return 1;
     if( a[0] < b[0] ) return -1;
     for( int i=a[0]; i>0; --i ){
          if( a[i] > b[i] ) return 1;
          if( a[i] < b[i] ) return -1;
     }
     return 0;
}
void Sub( int c[], const int a[], const int b[] ){
     int i;
     if( CompareNum( a, b ) == -1 ){
         for( i=1; i<=b[0]; ++i ){
              t[i] += b[i] - a[i];
              if( t[i]<0 ){
                  t[i] += 10;
                  --t[i+1];
              }
         }
     }
     else{
         for( i=1; i<=a[0]; ++i ){
              t[i] += a[i] - b[i];
              if( t[i] < 0 ){
                  t[i] += 10;
                  --t[i+1];
              }
         }
     }
     while( (t[i]==0) && (i>1) ) --i;
     t[0] = i;
     for (i=0;i<=t[0];i++)c[i]=t[i];
     return;
}
int main () {
    cin>>x[0]>>y[0];
    for (i=x[0];i>=1;i--){
        scanf ("%1d",&x[i]);
    }
    for (i=y[0];i>=1;i--){
        scanf ("%1d",&y[i]);
    }
    int z[1001];
    Sub (z,x,y);
    for (i=z[0];i>=1;i--){
        cout<<z[i];
    }
    system ("pause");
    return 0;
}

标签:分类:C语言, NOIP相关

最后的冲刺!

时间:2010年11月19日作者:坏男孩查看次数:1,104 views评论次数:5

明天!
2010年11月20日!

这是一个意义非凡的日子。NOIP2010复赛安徽赛区将于2010年11月20日下午1:30正式开始~届时,来自安徽省四面八方的参赛者将进行最后的角逐!这里,我谨代表丁强刚个人向大家这么多天以来一直对我的支持,我也会以优异的成绩报答大家!

谢谢!~

标签:分类:C语言

六套经典动态规划试题

时间:2010年11月12日作者:坏男孩查看次数:2,582 views评论次数:3

动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。动态规划是信息学竞赛中选手必须熟练掌握的一种算法,他以其多元性广受出题者的喜爱。动态规划首次进入信息学奥赛是在IOI94(数字三角形),在国内首次出现是在NOI95。此后动态规划成为信息学奥赛的必考算法之一。

今天,动态规划已经成为NOIP选手必备算法之一。此六套试题可供赛前复习用,题目比较简单,但是想要轻松做好每一题并不容易。。。从简单入手,从概念入手,才能更进一步!

下载地址:

本站网盘:http://www.huaiboy.com/other/box-web-disk/          中的“动态规划经典试题.rar”
115网盘:
http://u.115.com/file/f4832207e8          动态规划经典试题.rar

希望大家可以在第15届NOIP中取得优异成绩!~

标签:,分类:C语言, NOIP相关

复习高精度——高精度连加 tyvj P1040

时间:2010年10月25日作者:坏男孩查看次数:1,342 views评论次数:2

高精度是每个NOIP选手必会的内容之一,基本每年都有这类的题目。比如NOIP2009的分裂细胞等。其实高精度并不是很难,但是很复杂,你需要很有条理,才可以快速编出程序。高精度的算法其实就是使用电脑模拟手算,仔细想来,还是蛮简单的。

描述 Description  
   给出一个表达式,其中运算符仅包含+,要求求出表达式的最终值
 
输入格式 Input Format 
   仅一行,即为表达式

输出格式 Output Format 
   仅一行,既为表达式算出的结果 

样例输入 Sample Input  
   1+1

样例输出 Sample Output  
   2

注释 Hint 
   表达式总长度<=1500

代码如下(C++):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
using namespace std;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 char a[1501], b[1501];
 char s[1501];
 long len, i, k;
 
 
 void sum(void)
{
  long i, FORLIM;
 
  FORLIM = len;
  for (i = 1; i <= FORLIM; i++) {
    a[i-1] += b[i-1];
    a[i] += a[i-1] / 10;
    a[i-1] %= 10;
  }
}
 
 
 void print(void)
{
  long i = 1501;
 
  while (a[i-1] == 0)
    i--;
  while (i > 0) {
    printf("%d", a[i-1]);
    i--;
  }
  putchar('\n');
}
 
 
 void init(void)
{
  long i;
 
  for (i = 0; i <= 1500; i++)
    b[i] = 0;
}
 
 
int main()
{
  len = -1;
  while (1) {   //本题的输入比较麻烦,所以我采取字符读入。注意:getchar()的使用需要调用函数“string.h”事先必须声明!
    len++;
    s[len] = getchar();
    if (s[len]=='\n')break;
  }
  //len--;
  //for (i=1;i<=len;i++)cout<<s[i];
  for (i = len; i >= 1; i--) {
    if (s[i-1] != '+') {
      k++;
      b[k-1] = s[i-1] - '0';
    } else {
      if (s[i-1] == '+') {
	sum();
	init();
	k = 0;
      }
    }
    if (i == 1)
      sum();
  }
  print();
  return 0;
}
标签:分类:C语言