2013年3月30日
摘要: tyvj挂后,今天又万般怨念地开了个vijos的账号…于是,重温了一遍A+B Problem…=w= C刚上手没几天感觉怪怪的,其实我写的也是C和C++混起来的渣渣…比如if后面没有then,while后面没有do,for的格式好奇怪神马的,最讨厌判断的时候要==了…就一个=多好。好了不吐槽了…要学... 阅读全文
posted @ 2013-03-30 21:59 Sky-Grey 阅读(127) 评论(0) 推荐(0) 编辑
2013年3月23日
摘要: 其实对于Hello World我是万般怨念的,因为当初学P的时候第一个程序居然是照着书上敲,输出一个平行四边形…当时就有一种OI Life不完整的感觉…所以…转C++第一步,兴致盎然的敲了个C++的Hello World…弱菜一枚,不要喷。Hello World#include using name... 阅读全文
posted @ 2013-03-23 19:50 Sky-Grey 阅读(183) 评论(0) 推荐(0) 编辑
2013年3月3日
摘要: 终于进入Section 1.2了,说好的定期做题又因为各种原因一拖再拖。表示我英语渣渣题意没读清楚,然后又粗心了,提交了两三次才AC过去。需要注意两点:1.输入100 200,表示100~199秒在挤牛奶,第200秒停下。2.并不是从时间1开始统计,我用了be和en表示一天工作的开始时间和结束时间。程序描述:a数组 a[i]=true表示i时有人在工作 false表示没有人工作s1,s2 存储最终答案ss1,ss2 存储当前答案并比较。通过对于a数组的扫描变化。{自恋一下,自认为这段写的挺好看的。}milk2var n,i,j,min,max,be,en:longint; a:array... 阅读全文
posted @ 2013-03-03 15:02 Sky-Grey 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】有一棵n个结点的树,开始时每个结点上都有一个苹果。每次有两种操作:C x:如果结点x上有苹果,那么就摘下它,否则结点x上会再生出一个苹果。Q x:询问以结点x为根的子树中苹果的个数。你要对于每个Q操作,输出相应的答案。【输入文件:apple.in】第一行:一个整数n,表示树的结点个数,以1为根结点。接下来n-1行:每行两个整数ui,vi,表示树的一条边。再接下来是一个整数m,表示操作的数目,接下来m行为m个操作,格式同题目所述。【输出文件:apple.out】对于每个Q操作,逐行输出相应的答案。【样例输入】61 21 31 42 52 63Q 1C 2Q 1【样例输出】65【数据规 阅读全文
posted @ 2013-03-03 14:52 Sky-Grey 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】给你n个整数,每个数a[i]都是不超过109的非负整数。求其中逆序对的个数,即所有这样的数对(i,j)满足1≤i<j≤n且a[i]>a[j]。【输入文件】inverse.in第一行一个正整数n(1≤n≤500000),代表数字的个数。接下来一行n个用空格分隔的整数,代表要处理的数字序列。【输出文件】inverse.out一行一个整数,代表逆序对的个数。【样例输入】52 3 1 5 4【样例输出】3【数据及时间与空间限制】对于20%的数据,n≤20000,对于100%的数据,n≤500000。时间限制:1秒,空间限制:256MB。【算法分析】1.离散化 由于输入数据较为离 阅读全文
posted @ 2013-03-03 14:33 Sky-Grey 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 【题目描述】输入一个正整数n(n≤20000)。从第二行起输入由n个整数(绝对值≤2^15-1)组成的整数序列。接下来有若干行动态修改和查询操作,修改操作以’C’跟两个整数的形式给出,如C 2 -3表示将第2个数据的值加-3,查询操作以’Q’跟两个正整数的形式给出,如Q 2 6表示输出区间[2,6]的和。【样例输入】107 9 -3 19 24 77 18 13 -21 10C 3 8Q 1 6Q 3 8C 1 5C 3 5Q 2 9Q 3 7【样例输出】141156149148【程序描述】a数组 整数序列s数组 存放按a数组树状划分的子集和lowbit(i)函数 功能强大,用于确定s[i]的 阅读全文
posted @ 2013-03-03 14:04 Sky-Grey 阅读(189) 评论(0) 推荐(0) 编辑
2013年1月18日
摘要: 只能说这真的是一道好题目,考验耐心细心…尼玛提交了六次!(有一次是因为忘记开文件了!)智商拙计了!a数组用于存储项链的颜色,ans用于存储当前最大解。函数cut中:l、r分别表示左右搜索端点;x00表示左搜索用于比较的端点,x0表示右搜索用于比较的端点。需要注意:1. 可能一个圈都是一个颜色,预判避免死循环。2. 向两边搜的时候,注意如果达成一个圈了搜索就停止,输出n。3. 向左边搜,起始节点l,但是l可能是白色,因此不能单单和a[l]作比较。4. 本程序在项链成环方面可以继续用mod优化。Beads var a:array[1..350] of integer; c:char; ... 阅读全文
posted @ 2013-01-18 01:02 Sky-Grey 阅读(142) 评论(0) 推荐(0) 编辑
2012年12月14日
摘要: 题设有两个要求:Do not use any built-in date functions in your computer language.Don't just precompute the answers, either, please.没理解,不管怎么样算是练基本功吧打了好长个程序。procedure leapyear用于计算当前年是闰年。procedure unleapyear用于计算当前年非闰年。start表示当前年Jan. 1st是星期几。注意一个小细节就是输出顺序:Saturday, Sunday, Monday, Tuesday, ..., Friday.Frida 阅读全文
posted @ 2012-12-14 23:54 Sky-Grey 阅读(133) 评论(0) 推荐(0) 编辑
2012年12月8日
摘要: 注意阅读题设:Each person sets aside a certain amount of money to give and divides this money evenly among all those to whom he or she is giving a gift. No fractional money is available, so dividing 3 among 2 friends would be 1 each for the friends with 1 left over -- that 1 left over stays in the giver 阅读全文
posted @ 2012-12-08 20:45 Sky-Grey 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 第一次提交题目对于Head还有点生疏。格式应该是这样:Head格式{ID: your_id_namePROG: program_nameLANG: PASCAL}很简单的信心题。Ridevar s1,s2:longint; c:char;begin assign(input,'ride.in');reset(input); assign(output,'ride.out');rewrite(output); s1:=1;s2:=1; while not eoln do begin read(c); s1:=s1*(ord(c)-ord('A')+ 阅读全文
posted @ 2012-12-08 20:40 Sky-Grey 阅读(117) 评论(0) 推荐(0) 编辑