01 2014 档案
[vijos P1595] 学校网络
摘要:有生以来做的第二道IOI题目居然也是96'的,又是一道比我还老的题目。纯属复习或者说再学一遍Tarjan算法,本题的主要算法就是Tarjan+缩点,对于两个子问题的答案,根据解题:强连通缩点为拓扑图后,设入度为0点数为r,出度为0点数为c,则Task 1的答案就是r,这个很好理解;Task 2的答案是max(r,c),这个理解不能,但是我自己画了几个图都是这样的。如果真的比赛时遇到这种东西就要自己推理了…仍然觉得Tarjan很抽象,就像很久以前觉得快排很抽象一样…我也许能够记下来标程,但是Don't know why才是最大的问题,出了个变式就只能呵呵。能优化的地方就是,可以改 阅读全文
posted @ 2014-01-23 14:13 Sky-Grey 阅读(339) 评论(0) 推荐(0)
Section 1.4 Packing Rectangles
摘要:本来是USACO Training的1.4.1的,但是介于今早过了食物链想起了这道题实在是太怨念了,翻出自己写的AC程序居然有5KB!!思路很简单,枚举,而且就图中的六种情况。但是第六种变化状况太多了,我自己根本就没写出来后来是看别人写的分四种情况Blah Blah...可参考此篇中的分析:http://blog.sina.com.cn/s/blog_5c717d190100qgkr.htmlprogram packrec;var r,rw,rt:array[1..4,1..2] of integer; i,j,k,l,t,i1,j1,k1,l1:integer; ans,ansc... 阅读全文
posted @ 2014-01-20 23:16 Sky-Grey 阅读(221) 评论(0) 推荐(0)
[vijos P1531] 食物链
摘要:做出的第一道NOI题目?(噗,还是看题解才会的…按某篇解题说的,这题就比我年轻四岁…T T 做的第一道IOI题目是USACO上的Packing Rectangles...这题比我还老!)对我等弱渣来说难度蛮大的,做了好几次并查集题目了,统统都觉得好抽象啊…这一题的难点就是,你不能直接将所有的点分为1,2,3三组,你只知道关系。边带权值的并查集也是第一次听说,一个mod 3就搞定实在太神奇…Father数组记录祖先,Relation数组记录和祖先的距离Relation[i]=0表示和祖先是同类,Relation[i]=1表示被祖先吃,Relation[i]=2表示吃祖先。网上对于这篇的解题非常多 阅读全文
posted @ 2014-01-20 11:47 Sky-Grey 阅读(261) 评论(0) 推荐(0)
[USACO精选] 第二章 动态规划(一)
摘要:#4公司利润 2014-01-16这真的是动归?怎么觉得有点贪心的心态在。时间复杂度O(N),空间复杂度O(1),轻松加愉快!唯一要注意的是ANS一开始要赋负值,因为最终答案可能是负的。program usaco_4;var n,i,x,ans,last:longint; a:array[0..100000] of longint;begin ans:=-maxlongint+100; readln(n); for i:=1 to n do begin readln(x); if last>0 then last:=x+last else last:=x;... 阅读全文
posted @ 2014-01-16 19:14 Sky-Grey 阅读(282) 评论(0) 推荐(0)
[vijos P1626] 爱在心中
摘要:做完Victoria的舞会3,挑了vijos里强连通分量里面难度值最低的题目,也就是这道。先把第一小问做了,纯Tarjan,只是我学的时候的标程是用邻接表的,这题数据小于是用了邻接矩阵,两者之间的切换花了点时间,我天真地以为i0 then begin if v[i]=false then begin tarjan(i); if low[i]j) then begin inc(r[j]); inc(c[i]); end; top:=0; for... 阅读全文
posted @ 2014-01-13 20:08 Sky-Grey 阅读(405) 评论(0) 推荐(0)
[vijos P1023] Victoria的舞会3
摘要:这…本来想学习一下Tarjan算法的,没想到码都码好了发现这题不是求强连通分量而是简单的连通分量…图论基础都还给老师了啊啊啊!最后深搜通通解决!v标记是否被访问过,scc标记每个的祖先(本来想写Tarjan的才弄出这么奇葩个数组名字),w用于最后的统计。program vijos_p1023;var map:array[0..210,0..210] of longint; v,w:array[0..210] of boolean; n,m,t,i,ans,top:longint; low,s,scc:array[0..210] of longint;procedure sea... 阅读全文
posted @ 2014-01-13 10:51 Sky-Grey 阅读(445) 评论(0) 推荐(0)
[vijos P1112] 小胖的奇偶
摘要:第一次看到这题怎么也不会想到是并查集题目…星期五第一次看到这题,到今天做出来,实在是废了好多功夫。看了很多人的解题都有same和diff数组,我也写了,后来发现不对啊两个数组的话find函数怎么写呢?hash也很久没写了,导致自己测试的时候有两个点没过是因为hash弄错了。我的程序里f[x]= same[x] (xmax)总算,最后还是通过了。又是一道想不到思路就写不出的题。据说这题和食物链很像,那么食物链就是我的下一个目标~总感觉并查集是有点抽象的,我还没想到它怎么和树形结构具体联系起来。BTW,vijos的数据挺弱的…program vijos_p1112;const BLOCK=4000 阅读全文
posted @ 2014-01-12 16:48 Sky-Grey 阅读(984) 评论(0) 推荐(0)
[USACO精选] 第一章 数值计算
摘要:好不容易坑来了传说中的USACO精选,近100题我要是能做完就哈哈哈哈了…继今天学并查集连番受挫之后,决定写一写基础题。#0 负二进制 2014-01-10其实是想到就会做,不想到就不会做的题,数学渣渣在此,赶紧承认自己看了解题0 0……其实我自己对于负数的mod不是很熟…如果考场上出这种东西自己开个exam.pas弄几个mod负数div负数不就摸索出来了么…(其实我最开始的想法是,按正数除,除出来一个2^(2k-1)的就当成(-2)^2k+(-2)^(2k-1))program tyvj_p1022;var a:array[1..10000] of integer; x,i,t:lon... 阅读全文
posted @ 2014-01-10 21:40 Sky-Grey 阅读(277) 评论(0) 推荐(0)
[vijos P1034] 家族
摘要:寒假给自己定的第一个目标就是把并查集,Tarjan之类搞会。翻了翻笔记,发现并查集是2012年的6月30日学的…早就忘光了…今天敲题目的时候也吃了不少的亏呢…家族这一题就是并查集的标准题,第一次提交失误了,我的union子过程莫名陷入了死循环,我的f数组存在死循环,最后发现是find函数有个bug…我又跑去参考NOCOW了,只是觉得一直参考标程不是太好,毕竟比赛的时候得独立debug是吧…核心代码就是union子过程和find函数了,其实也没什么技术含量,思路比较要紧。过会儿去研究下,这个算法貌似还有什么优化来着~program vijos_p1034;var f:array[1..5000] 阅读全文
posted @ 2014-01-10 16:05 Sky-Grey 阅读(193) 评论(0) 推荐(0)
Section 1.4 Arithmetic Progressions
摘要:寒假的第一天,终于有空再写题目了,专心备战了。本想拿usaco上的题目练手热身,结果被磕住了T T。其实这是一道穷举题,一开始我在穷举a,b,但是怎么优化就是过不了Test 8,后来参照NOCOW上的解题弄了se和list两个数组,也算是终于通过了,这时候已经是Submission #7了。(啊,有两次是因为没开文件,一次是因为没打‘NONE’)总之,祝寒假的OI学习顺利吧~All or Nothing, Now or Never!program ariprog2;var se:array[0..62600*2] of boolean; list:array[0..62600] of l... 阅读全文
posted @ 2014-01-10 11:01 Sky-Grey 阅读(161) 评论(0) 推荐(0)