起步于308的小菜菜

no money no dream coder 一枚

20个位运算知多少1

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
75
76
77
78
79
80
81
82
83
84
int max1(int a,int b){
  return b & ( (a-b) >> 31) | a & (~(a-b) >> 31);
}

int max2(int x,int y){
  return x ^ ((x^y) & -(x < y));
}

int min1(int a,int b){
  return a & ((a-b) >> 31) | b & (~(a-b) >> 31);
}

int min2(int x,int y){
  return y ^ ((x^y) & -(x < y));
}

bool isSampSign(int x,int y){
  return (x^y) >= 0;
}

int getTwo(int n){
 // 2^n
 return 2 << (n-1);
}

bool isTwo(int n){
 return n > 0 ? (n&(n-1)) == 0:false;
}

int quyu(int m,int n){
  return m & (n-1);
}

int getAgv1(int n,int m){
 return (n+m) >> 1;
}

int getAgv2(int x,int y){
 return ((x^y) >> 1) + (x&y);
}

int getBit(int n,int m){  //从低位到高位 取n的第m位
 return (n >> (m-1)) & 1;
}

int setBit1(int n,int m){ //从低位到高位 将n的第m位置1
 return n | (1 << (m-1));
}

int setBit2(int n,int m){ //从低位到高位 将n的第m位置0
 return n & ~(1 << (m-1));
}

int getnum1(int n){
  //get n+1
  return -~n;
}

int getnum2(int n){
 return ~-n;
}

int getnum3(int n){
 return ~n + 1;
}

int main(int argc,char *argv[])
{
    int num1 = max1(3,5);
    int num2 = max2(3,5);
    int num3 = min1(3,5);
    int num4 = min2(3,5);
    cout<<getnum3(3)<<endl;
    //cout<<getBit2(4,1)<<endl;
    //cout<<getAgv1(3,5)<<” “<<getAgv2(3,5)<<endl;
    //cout<<quyu(2,4)<<” “<<quyu(5,3)<<endl;
    //cout<<isTwo(4)<<” “<<isTwo(5)<<endl;
    //cout<<getTwo(2)<<endl;
    //cout<<isSampSign(-1,2)<<endl;;
    //cout<<isSampSign(3,5)<<endl;
    //cout<<num3<<” “<<num4<<endl;
    //cout<<num1<<” “<<num2<<endl;
    return 0;
}

校赛

今天校赛~也是OJ升级以来面临正式的比赛的之一~lamp架构的抗压相比lnmp肯定弱些~OJ的优化还有一些工作没做好~后期会越来越好的~长颈鹿前浪已经死在沙滩上后浪还是很给力的~让我们看到12级的好苗子~11级还在猛进步~后生可畏啊~今天比赛过程中天师过来看了一眼~笑眯眯的说是不是题目偏难~后面自个又说练的太少~我大天师啊~

OJ对IE10的兼容性还是挺好的~在线IDE,test,划词翻译都可以正常使用,当然还是首选火狐和谷歌~好了就说这些吧

感谢大晨哥做出解题报告~大晨哥辛苦了~以下引用大晨哥的解题报告~长颈鹿加油~

二分

//从排好序的数组中找出k出现的字数

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
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int GetFistK(int* data,int length,int k,int start,int end)
{
  if(start > end)
   return -1;
  int middleIndex = (start + end) / 2;
  int middleData = data[middleIndex];
  if(middleData == k)
  {
   if((middleIndex > 0 && data[middleIndex-1]!=k)||middleIndex ==0)
    return middleIndex;
   else
    end = middleIndex – 1;
  }
  else if(middleData > k)
   end = middleIndex – 1;
  else
   start = middleIndex + 1;
  return GetFistK(data,length,k,start,end);
}
int GetLastK(int* data,int length,int k,int start,int end)
{
 if(start > end)
  return -1;
 int middleIndex = (start + end) / 2;
 int middleData = data[middleIndex];
 if(middleData == k)
 {
  if((middleIndex < length – 1 && data[middleIndex + 1] != k)||middleIndex == length -1 )
   return middleIndex;
  else
   start = middleIndex + 1;
 }
 else if(middleData < k)
  start = middleIndex + 1;
 else
  end = middleIndex – 1;
 return GetLastK(data,length,k,start,end);
}
int GetNumberK(int* data,int length,int k)
{
   int number = 0;
   if(data != NULL && length > 0)
   {
    int first = GetFistK(data,length,k,0,length – 1);
 int last = GetLastK(data,length,k,0,length – 1);

 if(first > -1 && last > -1)
  number = last – first + 1;
   }
   return number;
}
int main()
{ 
    int data[8] = {3,3,3,3,3,3,4,5};
 int k = 4;
 int total=GetNumberK(data,8,k);
 cout<<total<<endl;
 return 0;
}

长颈鹿OJ

计量OJ简史

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123

/*
 * =====================================================================================
 *
 *       Filename:  oj.cpp
 *
 *    Description:  计量oj简史2
 *
 *        Version:  1.0
 *        Created:  2013/1/12 19:46:55
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  mdk-vim.cpp-c (mdk), mdk@server.example.com
 *        Company:  cjluacm-vim-mdk
 *
 * =====================================================================================
 */
#pragma warning(disable:一切阻力)

#include < 院领导 >

#include < 尤天师 >

#include < 308 全体成员 >

using 一台很老的 DELL 台式机 std;

#define              OJ史前时代      ( 以UVA转载题为主 );

#define              OJ目前大事      ( 稳步发展月赛 );

#define              ACM基地记事     ( 出题解题做题 );

int main()

{

            time        = 2009 / 7 /28;

            place       = hdu 信息楼一楼;

            action      = *****ACM研讨交流会;

            person      = 院领导 + 尤天师 + 308 全体成员 + 部分08级同学;

            harvest     = ” 领导一定支持 ~~! ” + 水果若干;

            time        = 2009 / 9 / 12;

            action      = 尤天师提交月赛申请书;

            time       += 3;

            action      = 月赛审核通过;

            for(   time = 2009 / 9 / 28; time != 2009 / 10 / 5; ++time )

            {

                 action = OJ construting;

            }

            time        = 9 / 10 / 2009;

            action      = OJ 在后院论坛开辟子版块;               

            time        = 21 / 11 / 2009;

            action      = 招新赛完毕;

            time        = 1 / 12 / 2009;

            action      = 新人入住完毕;

            time        = 5/ 01/ 2010;

            action      = 月赛进入全校范围;

            while ( time++ != 2011 / 7 )

            {

                      action = OJ updating;

            }
           
            /*
             *未获得前辈们的认可就将OJ转换
             *在此向前辈们致歉
             * 我们的宗旨是将OJ打造成造福于全校搞IT的学生
             * */
           
            time        =  5 / 6 / 2012

            action      =  平台转换 windows->linux 内核开源
           
            time        =  25 / 6 / 2012
           
            action      =  web 端修改完毕 数据无损伤导入 新oj 新特性

            time        =  * / 7 / 2012

            action      =  投入使用(期间省赛被挫三人组组织两场比赛)

            time        = 28 / 10 / 2012

            action      = 域名重新对外(acm.cjlu.edu.cn)

            while ( time ++ != 2014 / 7 )
            
            {
                  
                   action1 = OJ updating
                  
                   action2 = CODE2AC()

            }

            return 0;

}

Acm与数模

利用半小时的时间~~这里利用某大牛的部分篇幅。

学校总喜欢拿数学建模和ACM程序设计竞赛进行对比,的确,这两个比赛都是 三个人一个队伍,应该说都考察了参赛选手全面的素质。然而毕竟区别还是很大的, 数学建模竞赛是教育部倡导的几项大学传统赛事之一,相信会有很多大学会像我们学 校一样看重这一点—–官方认证 在说数学建模竞赛本身是一个很好的竞赛形式,的确能提高数学素养,在科学研究数 学建模发挥的作用是越来越明显,实验室产生的大量数据绝对是需要数学处理才能产 生真正的科学结果,完全凭直觉的时代早已经过去了。教育部倡导这项竞赛的确是用 心良苦,真正用心参加过数学建模竞赛的人肯定能得到科学研究的锻炼。然而似乎在 中国这样国情下,各个学校名利心太强了,使得数学建模竞赛这一个如此好的竞赛形 式带来了如此多的不公正,无论从竞赛过程还是评奖过程,指导老师参与的都过多 了,以至有人发出感叹“数学建模究竟是学生参加,还是导师参加呢?”。再就是评 奖的过程的确是人为因素大了点,受大干扰也大了些。

现在的数学建模竞赛好多都是成了伪造数据竞赛,从赛区的初评来看是产生这种情况

的温床。赛区的初评都是看结果的,结果的好坏直接影响着一篇论文的质量,只要结 果不理想的将很可能是直接刷掉,于是出现了好多数据伪造,只要模型的结果不理 想,在时间不允许的前提下只能这样,要不然尽管在问题的解决中有创新,但是人家 根本就看不到了。这样的事实看多了,可以说麻木了。看着那么多伪造数据的论文拿 国家大奖我只能说数学建模已经在慢慢的贬值,给人一种上当受骗的感觉。数学建模 就是鼓励造假,越假越好,越假越能拿大奖。看到了拿全国大奖的同学,问他们结果 怎么那么好,一句话伤透了心“我们的数据都是伪造的”。伤心之余,被获奖的网友们称 我们队“经验不足,人太老实”进行总结。教训是惨重的,对心灵的打击是不能磨灭的。

从此对数学建模的印象就不如之前的那么虔诚,感觉都是假的,尽管不想造假,但是

造假获奖得到的是学校的奖励与鼓励,得到的是各种荣誉。从这个方面至少反映了现 在的大学造假之风已经比较严重了。 相反ACM程序设计竞赛给人的是一种积极向上,公平,公正,机器评判有效的避免了人 为误差,对与不对自有数据进行测试。而且ACM程序设计竞赛还给人一种永远要继续学 习的动力,考察的的各个方面,数学,编程能力,相关学科背景,身体素质,心理素 质,团队合作。。。。。。热爱这个活动的人相信大部分都是一种兴趣,一种发自内 心的热爱,一种追求梦想,一种永远上进的精神。ACM需要长期的积累,没有随便就成 功的,从这个意义上说,ACM也是一种奥林匹克,需要长期的锻炼,加上现场的良好发 挥才能取得好成绩。一个考试成绩很牛的学生可以对经典的最短路 算法,最小生成树算法讲得头头是道,然而就是不能写程序,不能实现自己的想法, 甚至很多人对于经典算法是为了考试而死记硬背下来的。科学技术领域日新月异,计 算机算法领域也是如此,大学本科的教育教材方面已经是难跟上发展,ACM程序设计则 提供了这样一个引领前进的平台,很多教科书上没有的算法与思考方法都可以在赛题 上找到答案,而且通过题目的训练不仅能锻炼编程能力,至少对算法也是应该理解。 所谓“与时俱进”在这里也得到了最大的体现。

                                                 祭拜我一年多来的青春

Acm的触动

致我热衷的acm:

我真的希望 大家加油!!! 不是因为别的原因,因为我们都曾经迷惑,无助,我们没有别人那么强的教练,没有别人那么好的基础,但是,我们都绝对不能放弃。绝对不能,因为,当我们坐在赛场上的时候,不管你是不是愿意,在你上空飘动的始终是你的校旗,别误会,我不是说什么要“为了学校争光”,那种话是用来哄小孩子的。我只想问大家,如果是你,坐在电脑前~~,你的背后有多少人在看着你?你的身上寄托的是什么? 是希望,是所有喜欢ACM的同学对你的希望,希望有这么一天,ACM也可以象其他的东西一样被其他的人所肯定,而不是什么需要被人怜悯的东西!!!!!!!!!

如果,现在我们寄托了这些东西的话,谁还会告诉我:我们不该奋斗呢? 如果可以,我宁愿安静的呆在一个不为人知的小角落,平平淡淡的过了这大学四年的生活,至少不会这么累。 如果可以,我宁愿在开始的时候,就找一个可以依靠的地方,傻傻的什么都不想,幸福的过了这四年。 如果可以,我宁愿只做一个ACM的看客,静静的品味他们成功的喜悦,分担失败的痛苦。 如果可以,我宁愿早早的放弃着艰苦的训练,因为我实在不愿意再做这样一个噩梦。 如果、可以………… 但是,只是如果…… 而且,决不可以!! 当我们弱校的人喜欢上ACM的时候,就应该有这种觉悟! 如果,要后退,那么,就你就不要参加ACM,因为,你不适合。ACM比的并不仅仅是写程序的水平,而更多是三个人的综合素质。没有胆小的人可以赢得ACM的青睐,没有退缩的人可以赢得比赛的胜利。我们这些人,水平本来就有限,也没有什么很出色专业教练。那么如果我们连一拼的勇气都没有了。我们还剩下什么? 如果可以,让我再次站在大一时候的海报前,我还是会小声的说:“去试试吧,也许很好玩呢~~” 谢谢大家看了这么多,是不是烦了?呵呵,最后,我只希望大家能+U,同时弱校的队员, 我希望我们能互相帮助。 大家~~~~~~~~加油~~~~~~~~~

Bye World

c :

1
2
3
4
5
6
7
8
#include<stdio.h>

int main()
{
  printf("bye world!\n");

  return 0;
}

c++ :

1
2
3
4
5
6
7
8
9
10
#include<isotream>

using namespace std;

int main()
{
  cout<<"bye world!"<<endl;
  
  return 0;
}

pascal:

1
2
3
4
5
begin:

  writeln("bye world!");

end;

bash:

1
2
3
#!/bin/bash

echo "bye world!"

python :

1
2
3
#!/usr/bin/env python

print "bye world"

perl:

1
2
3
4
5
6
7
#!/usr/bin/perl

use strict;

use warnings;

print "bye world\n"