??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲Av综合色区无码专区桃色,亚洲精品美女久久久久99,亚洲AV中文无码乱人伦下载http://m.tkk7.com/LittleDS/If the only tool you have is a hammer, you tend to see every problem as a nail.zh-cnMon, 12 May 2025 01:23:08 GMTMon, 12 May 2025 01:23:08 GMT60USACO l于做完?/title><link>http://m.tkk7.com/LittleDS/archive/2009/05/11/269990.html</link><dc:creator>杨磊</dc:creator><author>杨磊</author><pubDate>Mon, 11 May 2009 01:27:00 GMT</pubDate><guid>http://m.tkk7.com/LittleDS/archive/2009/05/11/269990.html</guid><wfw:comment>http://m.tkk7.com/LittleDS/comments/269990.html</wfw:comment><comments>http://m.tkk7.com/LittleDS/archive/2009/05/11/269990.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/LittleDS/comments/commentRss/269990.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/LittleDS/services/trackbacks/269990.html</trackback:ping><description><![CDATA[用了大概一个半月的旉吧,当然中间有大概一个礼拜空着来着<br /> <br /> q是W二ơ做USACO了,W一ơ是高中的时候,那个时候的题目跟现在的都不太一P主要是顺序,而且那个时候是用PASCAL写的<br /> <br /> 但是高中的时候没有做完,卡在了Section 5之前Q其实是因ؓ很多东西不会Q数学其实也不够好,至于理解的能力,不知道现在是不是也有所提高?br /> <br /> 其实q次做的q不是非帔R利,我不是牛人,不可能一天扫10几道题目那种Q然后每到题目半个小时就搞定<br /> <br /> 前面3个Section的题目还都不是很难Q都是训l型的,都是教你法怎么用,从Section 4开始就有比较难的题目了Q尤其是DP<br /> <br /> DP从高中开始我没有感觉,那时候就有h跟我_只能多做题目Q也许我现在做的q不够多吧,L觉DP是很有用很有用的东西Q所以一直想学好<br /> <br /> 不管怎么PUSACOȝ是磕碰的做完了,应该在NoCow和Google的帮助下l于做完?br /> <br /> 后面大部分题目我都看了解题报告,有些法惛_出,但是不知道该怎么应用到题目之?br /> <br /> 现在发现q点才是最重要的,法模块谁不会写啊,都可以提前写好一个放在那里,但是问题是怎么把这个算法应用到题目?br /> <br /> 可能q就是所谓的建模吧,把题目变形一下,然后跟我们已知的法联系h<br /> <br /> q有另外一U情况,q个题目的算法不是已知的M法Q要自己L的,q才是真正考验一个h法素养的时?br /> <br /> 像TCO里面的题目,其实很多都是q样的,很少会给你一道题目让你直接去套一个算法的<br /> <br /> 可能原来我在q方面的理解有偏差Q我总认为,你把所有的常见法都练熟了Q所有的题目都可以横?br /> <br /> 但是问题是Q你能不能看得出来哪道题目用哪种法<br /> <br /> 而且Q就像DPq种题目Q就你看出来了Q状态{ULE你也未必写的出?br /> <br /> Mq是学到了很多,虽然磕碰Q但是做完了100道题q是会有收获?br /> <br /> 不知道下一个目标是什么SGU呢,q是TCO<br /> <br /> 其实之所以喜ƢUSACO的一个原因就是他会告诉你试数据Q你可以很方便的Debug<br /> <br /> 像OJq种Q不告诉你测试数据的Q如果遇CWAQ你p想破脑袋L你的E序哪里错了<br /> <br /> 而往往一个h自己看自qE序的时候,是很隑֏现错误的Q这׃让h很郁P真的是非帔R?br /> <br /> 更何况,有些OJ真的是很qQ用一些超U恶心的数据来钻你的I子?br /> <br /> 不知道这样对不对Q也许是考验你的l心E度?br /> <br /> SGU or TCO 呢?<br /> <br /> <img src ="http://m.tkk7.com/LittleDS/aggbug/269990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/LittleDS/" target="_blank">杨磊</a> 2009-05-11 09:27 <a href="http://m.tkk7.com/LittleDS/archive/2009/05/11/269990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO Section 5回顾http://m.tkk7.com/LittleDS/archive/2009/05/11/269988.html杨磊杨磊Mon, 11 May 2009 01:16:00 GMThttp://m.tkk7.com/LittleDS/archive/2009/05/11/269988.htmlhttp://m.tkk7.com/LittleDS/comments/269988.htmlhttp://m.tkk7.com/LittleDS/archive/2009/05/11/269988.html#Feedback1http://m.tkk7.com/LittleDS/comments/commentRss/269988.htmlhttp://m.tkk7.com/LittleDS/services/trackbacks/269988.html TEXT Convex Hulls H包 PROB Fencing the Cows  H包问题Q直接忽略,差不多所有的计算几何我都跌?/td> PROB Starry Night  ȝ题,用Flood Fill把所有的pattern全认出来Q然后判断重复,不重复就d新的 PROB Musical Themes  DP题,技巧在于如果两个序列是themeQ那么相ȝ两个number差相{?/td> PROB Snail Trail  DFSQ没啥技?/td> PROB Electric Fences  刚开始以为是Divide&ConquerQ后来发现跟那道题不一P直接搜烦可?/td> PROB Wisconsin Squares  搜烦题,Testcase只有sample那一l?/td> TEXT Heuristics & Approximate Searches 启发式搜索,没看 PROB Milk Measuring  一道我看Analysis看了两天的DPQ其实还是没有深ȝ?/td> PROB Window Area  可以用矩形切割过 PROB Network of Schools  通分量题 PROB Big Barn  最大子正方形,单的DP PROB All Latin Squares  搜烦+剪枝 PROB Canada Tour  诡异的DP法QAnalysis的那个DP倒是q可以接受,不过Nocow上的g需要证明,但是又没?/td> PROB Character Recognition  q道题目都能用DPQ不得不感叹DP的伟?/td> PROB Betsy's Tour  又是搜烦+剪枝 PROB TeleCowmunication  先把点{化成边,然后求最割 PROB Picture  L?/td> PROB Hidden Passwords  搜烦+KMP优化 PROB Two Five  是道难题吧QAnalysis都看了好久,DP真是无所不能
W六个Section的就不写了,两个DP+一个牛叉的位运?br />
那个Cow XOR我估计我q辈子都不会忘记了?br />


杨磊 2009-05-11 09:16 发表评论
]]>
USACO Section 4回顾http://m.tkk7.com/LittleDS/archive/2009/05/11/269981.html杨磊杨磊Mon, 11 May 2009 00:52:00 GMThttp://m.tkk7.com/LittleDS/archive/2009/05/11/269981.htmlhttp://m.tkk7.com/LittleDS/comments/269981.htmlhttp://m.tkk7.com/LittleDS/archive/2009/05/11/269981.html#Feedback0http://m.tkk7.com/LittleDS/comments/commentRss/269981.htmlhttp://m.tkk7.com/LittleDS/services/trackbacks/269981.html TEXT Optimization Techniques 讲怎么剪枝?/td> PROB Beef McNuggets  初看上去像是一道背包问题,但是用背包肯定超Ӟ后来看了解题报告Q发现原来是数学?/td> PROB Fence Rails  高维背包问题Q只能搜?/td> PROB Fence Loops  其实是很单的一道最短\问题Q恶心就恶心在图的{?/td> PROB Cryptcowgraphy  非常恶心的搜?剪枝 TEXT "Network Flow" Algorithms |络,我第一ơ会写网l流是看了q个法 PROB Drainage Ditches  |络练习题 PROB The Perfect Stall  最大匹配,匈牙利算?/td> PROB Job Processing  W一问是贪心Q第二问应该也还是贪心,是把第一问最快做完的l第二问最慢做完的 PROB Cowcycles  直接枚D的好?/td> TEXT Big Numbers 高精?/td> PROB Buy Low, Buy Lower  l典DPQ最长下降序列,可是问题是要求出C多少ơ,于是我看了解题报?/td> PROB The Primes  搜烦+剪枝Q要注意搜烦的顺序,先是W五行第五列Q然后对角线Q然后其?/td> PROB Street Race  关键路径Q去掉每一个节点,然后看看L与终Ҏ否连通,不联通总说明是关键节点 PROB Letter Game  枚DQ分两块Q先扑֮整的单词Q然后找pair PROB Shuttle Puzzle  刚开始以为搜索,后来看了解题报告Q发现原来有规律的,寒啊 PROB Pollutant Control  最割问题 PROB Frame Up  搜烦题,用一张表来维护每个pattern的上下关p,可以大量剪枝

杨磊 2009-05-11 08:52 发表评论
]]>
USACO Section3回顾http://m.tkk7.com/LittleDS/archive/2009/05/10/269942.html杨磊杨磊Sun, 10 May 2009 13:25:00 GMThttp://m.tkk7.com/LittleDS/archive/2009/05/10/269942.htmlhttp://m.tkk7.com/LittleDS/comments/269942.htmlhttp://m.tkk7.com/LittleDS/archive/2009/05/10/269942.html#Feedback0http://m.tkk7.com/LittleDS/comments/commentRss/269942.htmlhttp://m.tkk7.com/LittleDS/services/trackbacks/269942.html TEXT Minimal Spanning Trees 最生成树Q经典的法 PROB Agri-Net  最生成树QUSACOq点比较好,一般讲完了一个算法,都会Z道练习题 PROB Score Inflation  背包问题 PROB Humble Numbers  l典题目Q算法是用已有的丑数乘上集合里面的素数去生成新的丑数 PROB Shaping Regions  记得高中的时候做q这道题目,当初用的L化的ҎQ不q现在USACO旉Ҏ1U了Q那个方法可能不行了 PROB Contact  枚DQ输出有点烦 PROB Stamps  一个背包问题的变Ş TEXT Knapsack Problems 怎么到现在才介绍背包问题啊,前面都有好几道了 PROB Factorials  高精度可以做Q但是我是去接保留了最后的6位数Q一直到最后。注意只保留一位数是不行的 PROB Stringsobits  直接生成?/td> PROB Spinning Wheels  又是一个我没看懂题的题目,然后看了标程Q原来直接枚丑ְ行了Q如此简?/td> PROB Feed Ratios  U性代数题目,直接把方E解出来好?/td> PROB Magic Squares  比较恶心的DFSQ主要是转换那个状态v来比较麻?/td> PROB Sweet Butter  最短\的题目,枚D每一个点作ؓ集合点,然后求最短\ TEXT Eulerian Tours Ƨ拉回\Q又是一个经典的法 PROB Riding The Fences  Ƨ拉回\的题?/td> PROB Shopping Offers  DP问题Q状态方E又不是我自己想的,555?/td> PROB Camelot  著名的亚瑟王问题Q我是看了解题报告才做出来的 PROB Home on the Range  DP问题Q找最大子正方形,后面q有一道是找最大子矩Ş的,隑ֺ大了很多 PROB A Game  动态规划,好不Ҏ自己推出来的状态{ULE?/td> TEXT Computational Geometry 计算几何Q没看:Q?/td> PROB Closed Fences  计算几何的题目,跌?/td> PROB American Heritage  二叉树遍历顺序题目,已知前序中序求后?/td> PROB Electric Fence  一个P代求最优值的题目Q其实就是不断羃范围的枚D PROB Raucous Rockers  DPQ状态方E又是看来的Q似乎这才是比较有难度的DPQ不像前面有些题Q状态方E简直显而易?/td>

杨磊 2009-05-10 21:25 发表评论
]]>
USACO Section 2回顾http://m.tkk7.com/LittleDS/archive/2009/05/10/269923.html杨磊杨磊Sun, 10 May 2009 09:43:00 GMThttp://m.tkk7.com/LittleDS/archive/2009/05/10/269923.htmlhttp://m.tkk7.com/LittleDS/comments/269923.htmlhttp://m.tkk7.com/LittleDS/archive/2009/05/10/269923.html#Feedback0http://m.tkk7.com/LittleDS/comments/commentRss/269923.htmlhttp://m.tkk7.com/LittleDS/services/trackbacks/269923.html TEXT Graph Theory 很有用的东西Q徏议仔l看?/td> TEXT Flood Fill Algorithms 其实是DFS PROB The Castle  Flood FillQ直接用上面那篇文章的算法就可以q?/td> PROB Ordered Fractions  2ơ@环,求出所有的分数Q约分,L重复的,排序 PROB Sorting A Three-Valued Sequence  q题我是看的l题报告Q其实就是分块来交换 Q首先把所有的能一ơ交换完成的处理掉,然后处理需要两ơ交换的 PROB Healthy Holsteins  忘记是贪心还是背包了……-_-! PROB Hamming Codes  直接枚D?/td> TEXT Data StructuresTEXT Dynamic Programming 动态规划啦Q非常有必要好好看,不过q篇文章也只是对于初学者很有用 PROB Preface Numbering  |马数字问题Q把所有可能的l合先生成出来,4Q?q种Q然后就是求最表C方?/td> PROB Subset Sums  背包问题Q这题我最开始居然没看出?#8230;…Q以为是要深搜的Q汗?/td> PROB Runaround Numbers  直接模拟的,注意判断是否是round number的条?/td> PROB Party Lamps  我当初只注意C每个操作做两ơ就跟没做一P所以一׃有8U操作,后来看了解题报告Q发现其实只要处理前6个灯可以了 PROB The Longest Prefix  DPQ我看得别h的解题报告,没办法DP是我的弱?/td> PROB Cow Pedigrees  DPQ自己推了一个差不多的状态方E,可惜错了…… PROB Zero Sum  直接模拟Q把表达式生成出来,然后计算l果p PROB Money Systems  背包问题 PROB Controlling Companies  看了别h的解题报告,q道题目用了一个变形的Floyd法Q很巧妙 TEXT Shortest Paths l典法?/td> PROB The Tamworth Two  模拟?/td> PROB Overfencing  其实是比较恶心的一题,因ؓ要{化那个图Q剩下的q单了Q从两个exit开始BFSQ然后找最大?/td> PROB Cow Tours  先FloydQ把囑ֈ分成两块Q然后枚?/td> PROB Bessie Come Home  直接Floydp PROB Fractions to Decimals  判断时候@环的条g是看余数是否重复出玎ͼ当然Q在我看了Analysis之后Q发C更y妙的办法

杨磊 2009-05-10 17:43 发表评论
]]>
Cow XOR (USACO)http://m.tkk7.com/LittleDS/archive/2009/05/10/269919.html杨磊杨磊Sun, 10 May 2009 09:20:00 GMThttp://m.tkk7.com/LittleDS/archive/2009/05/10/269919.htmlhttp://m.tkk7.com/LittleDS/comments/269919.htmlhttp://m.tkk7.com/LittleDS/archive/2009/05/10/269919.html#Feedback0http://m.tkk7.com/LittleDS/comments/commentRss/269919.htmlhttp://m.tkk7.com/LittleDS/services/trackbacks/269919.html
不知道ؓ啥,是不是所有搞OI的h在写题解的时候都喜欢?#8220;提示”的办法,不直接把问题说清楚,而是隐隐U约的公诉你该怎么做,然后你让你自己去惟?br />
于是D我到现在都没有弄明白q道题目是怎么回事Q尽他们的做法有N多种Q但是归根到底都是在搞一个叫做前~的东ѝ?br />
下面q个是我在TopCoder上面扑ֈ的一个牛人的解释Q算是英语写的比较好的,很通俗易懂?br /> 上面q篇文章我想我就不用再翻译了Q说的比较清楚,但是他也没有l出具体的算法,不过思\已经很清楚了

其实有了W一条性质之后Q最朴素的办法就是枚举i和jQ所以个2ơ@环,但是q样昄是要TLE?br />
在没有更好的法的前提下Q这道题目的法是I间换时_在我看来是q样的?br />
在看了N多代码之后,我觉得还是USACO的Analysis的代码看上去比较,不知道ؓ啥,那些用Hash和Trie的我都没看懂Q可能是我比较菜?br />
下面我尝试着把USACO的代码解释一下,看看能不能说清楚Q很遗憾Q由于这道题目的巨型的输入数据,java肯定是没办法q的
 
 1 int main() {
 2     freopen("cowxor.in", "r", stdin);
 3     freopen("cowxor.out", "w", stdout);
 4     scanf("%i", &n);
 5     xr[0] = 0;
 6     for (a = 0; a < n; a++ ) {
 7         scanf("%d", &x);
 8         xr[a+1] = xr[a] ^ x;
 9     }
10     for (a = 0; a <= n; a++ ) {
11         prev[a][0] = a-1;
12         prev[a][1] = -1;
13         best[a] = a-1;
14     }
15     wyk = 22;
16     res = 0;
17     while (wyk--) {
18         for (a = 1; a <= n; a++ )
19             if (prev[a][0] == -1)
20                 prev[a][1] = -1;
21             else {
22                 if (xr[a] >> wyk != xr[prev[a][0]] >> wyk) {
23                     tmp[0] = prev[prev[a][0]][1];
24                     tmp[1] = prev[a][0];
25                 } else {
26                     tmp[0] = prev[a][0];
27                     tmp[1] = prev[prev[a][0]][1];
28                 }
29                 prev[a][0] = tmp[0];
30                 prev[a][1] = tmp[1];
31             }
32         fnd = false;
33         for (a = 1; a <= n; a++ )
34             if (0 <= best[a])
35                 if ((xr[a] >> wyk) % 2 != (xr[best[a]] >> wyk) % 2 ||
36                                       0 <= prev[best[a]][1])
37                     fnd = true;
38         if (fnd) {
39             res |= 1 << wyk;
40             for (a = 1; a <= n; a++ )
41                 if (0 <= best[a] &&
42                               (xr[a] >> wyk) % 2 == (xr[best[a]] >> wyk) % 2)
43                     best[a] = prev[best[a]][1];
44         }
45     }
46     for (a = 0; best[a] == -1; a++ );
47     printf("%d %d %d"n", res, best[a]+1, a);
48     return 0;
49 }

首先Q??行,E序把从1开始到i位结束的所有的xor都求出来保存在了数组xor里面Q我惌个就是ؓ了方便后面用到xor的那个性质?br />
10?4行是一?初始化的q程Q这个prev的定义应该可以从USACO的Analysis上面看到Q?br />
  xr[pop[q][0]]'s and xr[q]'s binary representations are the same on positions e, e+1, etc., and pop[q][0] is biggest possible with 0 ≤ pop[q][0] < q. If there's no such pop[q][0] possible, then pop[q][0] = -1.

xr[pop[q][1]]'s and xr[q]'s binary representations are the same on positions e+2, e+2, etc., different on position e, and pop[q][1] is biggest possible with 0 ≤ pop[q][1] < q. If there's no such pop[q][1] possible, then pop[q][1] = -1.


我们要根据后面的循环来看q个prev数组的含?br />
外侧的@环的作用是每ơ处理一位,׃题目中已l说明了Q最多只?1位,所以@?1ơ就可以了?br />
我们来看内侧的@?br />
18?1行,Ҏ有的奶牛~号循环一遍,得到的结果就是:
对于当前的xor numberQ对于这个xor number的前21 - wyk位,与他相同的那个xor number的位|,q且Q这个位|要量的靠后?br />
如果没有相同的,那么q个位置是-1

q样Q经q每ơ@环之后,prev里面是与当前的xor number前k位相同的那个数的位置Q一ơ一ơ@环,直到最后?br />
prev[i][0]存的是当current bit也相同的时候的位置Qprev[i][1]存的是currnet bit不相同时候的位置Qؓ什么要q样呢?

q可能就需要解释一?br />      if (xr[a] >> wyk != xr[prev[a][0]] >> wyk) {
                     tmp[0] = prev[prev[a][0]][1];
                     tmp[1] = prev[a][0];
     } else {
                     tmp[0] = prev[a][0];
                     tmp[1] = prev[prev[a][0]][1];
    }
如果当前比较的这一位相{,那么也就意味着prev[a][0]不用变,但是prev[i][1]却必d化,因ؓ当前的这一位,已经不是刚才比较的那一位了Qprev[a][1]应该{于此时的prev[a][0]的prev[a][1]Q我惌个应该不隄解?br />
另一斚wQ如果当前比较的q一位不相等的时候,那么prev[a][1]应该等于prev[a][0]了,因ؓ之前的所有位都相{,之后当前q一位不? {,q就是prev[a][1]的定义。那么prev[a][0]的值呢Q我们需要注意的时候,当我们处理到a的时候,prev[a][0]位置的D? 是已l处理过的了。那么prev[a][prev[a][0]][1]里面存的是与prev[a][0]在当前位不相{的那个xor number的位|,注意Qbit只有0?Qprev[a][0]与当前的不相{,而prev[a][prev[a][0]][1]又与prev[a] [0]不相{,所以当前的prev[a][1]肯定与prev[a][prev[a][0]][1]是相{的。这是 tmp[0] = prev[prev[a][0]][1];的含义?br />
我再来看32?7行,首先要知道best[q]的定义:

if X would be equal biggest possible xor, then xr[best[q]] xor xr[q]'s in equal X's binary representation on positions e, e+1, etc., and best[q] is biggest possible with 0 ≤ best[q] < q. If there's no such best[q] possible, then best[q] = -1.

惌得到量大的xorQ那么就要尽量让每一位都不相?Qxr[a] >> wyk) % 2是取当前的二进制的最后一?br />
q段代码的作用就是找Q到当前位ؓ止,是否有两个xor numberQ他们的每一位都不相同,q样p保证异或l果是最大的?br />
接下来看38?5的这D代码,因ؓ我们是从高位C位来处理的,q样的话Q如果能保证高位?Q那么比你所有的低位都是1都管用:Q?br />
于是Q既然我们找C高位?的情况,那么我们p记录下结?res

然后Q剩下的那个循环是更新best[a]

在所有的xor number中,如果当前位跟best[a]的当前位是相{的Q那么就更新best[a]Q将其更Cؓprev[best[a]][1]Q就是除了当前位 不相{,其余位不变的那个xor numberQ这样就保证了从高位开始,每一位都能够量取到1Q因为只要高位尽量是1Q我们的l果p量的大?br />
其实prevq个数组里面真正有用的是prev[q][1]

不知道我解释清楚了没Q其实解释了一遍,自己也清楚了很多?

杨磊 2009-05-10 17:20 发表评论
]]>
USACO Section 1回顾http://m.tkk7.com/LittleDS/archive/2009/05/09/269757.html杨磊杨磊Sat, 09 May 2009 07:05:00 GMThttp://m.tkk7.com/LittleDS/archive/2009/05/09/269757.htmlhttp://m.tkk7.com/LittleDS/comments/269757.htmlhttp://m.tkk7.com/LittleDS/archive/2009/05/09/269757.html#Feedback0http://m.tkk7.com/LittleDS/comments/commentRss/269757.htmlhttp://m.tkk7.com/LittleDS/services/trackbacks/269757.html Section 1.0 TEXT Introduction 介绍啦,我是没看 Section 1.1 TEXT Submitting Solutions 交你怎么提交E序的,可以看看 PROB Your Ride Is Here  最直接的方法是直接乘,然后mod 47,不过可以利用余数定理Q边乘边mod TEXT Contest Problem TypesTEXT Ad Hoc Problems 跌 PROB Greedy Gift Givers  单的模拟题,是处理名字的时候有点烦 PROB Friday the Thirteenth  数日期的题,我不知道一天天的模拟能不能q,我是只算了周五这一天的?/td> PROB Broken Necklace  也是模拟题,不过很要l心Q有很多Ҏ情况Q比如全是w?/td> Section 1.2 TEXT Complete Search 跌 PROB Milking Cows  直接模拟应该是过不了的, PROB Transformations  模拟题,直接把所有可能的pattern生成出来Q然后比较就?/td> PROB Name That Number  正确Ҏ是把字典里面的所有word转化成数字,然后比较p?/td> PROB Palindromic Squares  直接枚D PROB Dual Palindromes  DFSQ注意搜索的时候,只要搜烦回文数前一半就行,后面的直接反向复制一下就?/td> Section 1.3 TEXT Greedy Algorithm 跌 PROB Mixing Milk  单的贪心 PROB Barn Repair  也是贪心法,把最大的~隙出来,然后去覆?/td> TEXT Winning Solutions 跌 PROB Calf Flac  枚DQ从没一点向两边枚D PROB Prime Cryptarithm  直接枚DQ反正只?个数 Section 1.4 TEXT More Search Techniques 跌 PROB Packing Rectangles  恶心题,我没做:P PROB The Clocks  看了一个牛人的l题报告后过的,那位牛hȝ了一个数l,是如何让表针{一圈回到原来位|的操作l合 PROB Arithmetic Progressions  搜烦Q硬搜的 PROB Mother's Milk  BFSQ把所有的情况都弄出来 Section 1.5 TEXT Introduction to Binary Numbers 跌 PROB Number Triangles  l典DP PROB Prime Palindromes  搜烦Q生成回文数Q检查是否是素数。需要一点点剪枝Q长度是偶数的回文数Q除?1之外必然是合敎ͼ因它肯定?1的倍数Q?/td> PROB SuperPrime Rib  直接枚D PROB Checker Challenge  八皇后啊Q用最l典的算法就能过Q不q如果想优化的非常快Q可能需要其他的办法Q也有很复杂的?/td>

杨磊 2009-05-09 15:05 发表评论
]]>
l于把USACO做完?/title><link>http://m.tkk7.com/LittleDS/archive/2009/05/09/269749.html</link><dc:creator>杨磊</dc:creator><author>杨磊</author><pubDate>Sat, 09 May 2009 05:50:00 GMT</pubDate><guid>http://m.tkk7.com/LittleDS/archive/2009/05/09/269749.html</guid><wfw:comment>http://m.tkk7.com/LittleDS/comments/269749.html</wfw:comment><comments>http://m.tkk7.com/LittleDS/archive/2009/05/09/269749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/LittleDS/comments/commentRss/269749.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/LittleDS/services/trackbacks/269749.html</trackback:ping><description><![CDATA[<img alt="" src="http://m.tkk7.com/images/blogjava_net/littleds/USACO.jpg" width="567" height="173" /><br /> <br /> 感想及题解待会儿再发Q)<br /> <br /> <img src ="http://m.tkk7.com/LittleDS/aggbug/269749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/LittleDS/" target="_blank">杨磊</a> 2009-05-09 13:50 <a href="http://m.tkk7.com/LittleDS/archive/2009/05/09/269749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Picture QUSACOQ?/title><link>http://m.tkk7.com/LittleDS/archive/2009/05/07/269352.html</link><dc:creator>杨磊</dc:creator><author>杨磊</author><pubDate>Thu, 07 May 2009 02:33:00 GMT</pubDate><guid>http://m.tkk7.com/LittleDS/archive/2009/05/07/269352.html</guid><wfw:comment>http://m.tkk7.com/LittleDS/comments/269352.html</wfw:comment><comments>http://m.tkk7.com/LittleDS/archive/2009/05/07/269352.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/LittleDS/comments/commentRss/269352.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/LittleDS/services/trackbacks/269352.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> java.io.</span><span style="color: #000000;">*</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.</span><span style="color: #000000;">*</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;"> 3</span> <span style="color: #008000;">/*</span><span style="color: #008000;"><br /> </span><span style="color: #008080;"> 4</span> <span style="color: #008000;">ID: yanglei4<br /> </span><span style="color: #008080;"> 5</span> <span style="color: #008000;">LANG: JAVA<br /> </span><span style="color: #008080;"> 6</span> <span style="color: #008000;">TASK:picture<br /> </span><span style="color: #008080;"> 7</span> <span style="color: #008000;">*/</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 8</span> <span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> picture {<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;">[] level;<br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> N;<br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> ans </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">12</span> <span style="color: #000000;">    <br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Line </span><span style="color: #0000ff;">implements</span><span style="color: #000000;"> Comparable</span><span style="color: #000000;"><</span><span style="color: #000000;">Line</span><span style="color: #000000;">></span><span style="color: #000000;"> {<br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> s,t,p;<br /> </span><span style="color: #008080;">15</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">boolean</span><span style="color: #000000;"> start;<br /> </span><span style="color: #008080;">16</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> Line(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> a, </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> b, </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> c, </span><span style="color: #0000ff;">boolean</span><span style="color: #000000;"> d) {<br /> </span><span style="color: #008080;">17</span> <span style="color: #000000;">            s </span><span style="color: #000000;">=</span><span style="color: #000000;"> a;<br /> </span><span style="color: #008080;">18</span> <span style="color: #000000;">            t </span><span style="color: #000000;">=</span><span style="color: #000000;"> b;<br /> </span><span style="color: #008080;">19</span> <span style="color: #000000;">            p </span><span style="color: #000000;">=</span><span style="color: #000000;"> c;<br /> </span><span style="color: #008080;">20</span> <span style="color: #000000;">            start </span><span style="color: #000000;">=</span><span style="color: #000000;"> d;<br /> </span><span style="color: #008080;">21</span> <span style="color: #000000;">        }<br /> </span><span style="color: #008080;">22</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> compareTo(Line o) {<br /> </span><span style="color: #008080;">23</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.p </span><span style="color: #000000;">==</span><span style="color: #000000;"> o.p) {<br /> </span><span style="color: #008080;">24</span> <span style="color: #000000;">                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.start)<br /> </span><span style="color: #008080;">25</span> <span style="color: #000000;">                    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">26</span> <span style="color: #000000;">                </span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br /> </span><span style="color: #008080;">27</span> <span style="color: #000000;">                    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">28</span> <span style="color: #000000;">            }<br /> </span><span style="color: #008080;">29</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.p </span><span style="color: #000000;"><</span><span style="color: #000000;"> o.p </span><span style="color: #000000;">?</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;"> : </span><span style="color: #000000;">1</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">30</span> <span style="color: #000000;">        }<br /> </span><span style="color: #008080;">31</span> <span style="color: #000000;">    }<br /> </span><span style="color: #008080;">32</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> Scan(Line[] L) {<br /> </span><span style="color: #008080;">33</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;i </span><span style="color: #000000;"><=</span><span style="color: #000000;"> </span><span style="color: #000000;">20000</span><span style="color: #000000;">;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;">34</span> <span style="color: #000000;">            level[i] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">35</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">; i </span><span style="color: #000000;"><</span><span style="color: #000000;"> </span><span style="color: #000000;">2</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> N;i</span><span style="color: #000000;">++</span><span style="color: #000000;">) {<br /> </span><span style="color: #008080;">36</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (L[i].start) {<br /> </span><span style="color: #008080;">37</span> <span style="color: #000000;">                </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> j </span><span style="color: #000000;">=</span><span style="color: #000000;"> L[i].s;j </span><span style="color: #000000;"><</span><span style="color: #000000;"> L[i].t;j</span><span style="color: #000000;">++</span><span style="color: #000000;">) {<br /> </span><span style="color: #008080;">38</span> <span style="color: #000000;">                    level[j]</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">39</span> <span style="color: #000000;">                    </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (level[j]</span><span style="color: #000000;">==</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;">40</span> <span style="color: #000000;">                        ans</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">41</span> <span style="color: #000000;">                }<br /> </span><span style="color: #008080;">42</span> <span style="color: #000000;">            }<br /> </span><span style="color: #008080;">43</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {<br /> </span><span style="color: #008080;">44</span> <span style="color: #000000;">                </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> j </span><span style="color: #000000;">=</span><span style="color: #000000;"> L[i].s;j </span><span style="color: #000000;"><</span><span style="color: #000000;"> L[i].t;j</span><span style="color: #000000;">++</span><span style="color: #000000;">) {<br /> </span><span style="color: #008080;">45</span> <span style="color: #000000;">                    level[j]</span><span style="color: #000000;">--</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">46</span> <span style="color: #000000;">                    </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (level[j]</span><span style="color: #000000;">==</span><span style="color: #000000;">0</span><span style="color: #000000;">)<br /> </span><span style="color: #008080;">47</span> <span style="color: #000000;">                        ans</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">48</span> <span style="color: #000000;">                }<br /> </span><span style="color: #008080;">49</span> <span style="color: #000000;">            }<br /> </span><span style="color: #008080;">50</span> <span style="color: #000000;">        }<br /> </span><span style="color: #008080;">51</span> <span style="color: #000000;">    }<br /> </span><span style="color: #008080;">52</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> done() </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> IOException {<br /> </span><span style="color: #008080;">53</span> <span style="color: #000000;">        BufferedReader f </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> BufferedReader(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> FileReader(</span><span style="color: #000000;">"</span><span style="color: #000000;">picture.in</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br /> </span><span style="color: #008080;">54</span> <span style="color: #000000;">        PrintWriter out </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> PrintWriter(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> BufferedWriter(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> FileWriter(</span><span style="color: #000000;">"</span><span style="color: #000000;">picture.out</span><span style="color: #000000;">"</span><span style="color: #000000;">)));<br /> </span><span style="color: #008080;">55</span> <span style="color: #000000;">        N </span><span style="color: #000000;">=</span><span style="color: #000000;"> Integer.parseInt(f.readLine());<br /> </span><span style="color: #008080;">56</span> <span style="color: #000000;">        Line[] Lx </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Line[</span><span style="color: #000000;">2</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> N];<br /> </span><span style="color: #008080;">57</span> <span style="color: #000000;">        Line[] Ly </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Line[</span><span style="color: #000000;">2</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> N];<br /> </span><span style="color: #008080;">58</span> <span style="color: #000000;">        <br /> </span><span style="color: #008080;">59</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">; i </span><span style="color: #000000;"><</span><span style="color: #000000;"> N; i</span><span style="color: #000000;">++</span><span style="color: #000000;">) {<br /> </span><span style="color: #008080;">60</span> <span style="color: #000000;">            StringTokenizer st </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> StringTokenizer(f.readLine());<br /> </span><span style="color: #008080;">61</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> x1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> Integer.parseInt(st.nextToken());</span><span style="color: #008000;">//</span><span style="color: #008000;">left x</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">62</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> y1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> Integer.parseInt(st.nextToken());</span><span style="color: #008000;">//</span><span style="color: #008000;">left y</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">63</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> x2 </span><span style="color: #000000;">=</span><span style="color: #000000;"> Integer.parseInt(st.nextToken());</span><span style="color: #008000;">//</span><span style="color: #008000;">right x</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">64</span> <span style="color: #000000;">            </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> y2 </span><span style="color: #000000;">=</span><span style="color: #000000;"> Integer.parseInt(st.nextToken());</span><span style="color: #008000;">//</span><span style="color: #008000;">right y</span><span style="color: #008000;"><br /> </span><span style="color: #008080;">65</span> <span style="color: #000000;">            x1 </span><span style="color: #000000;">+=</span><span style="color: #000000;"> </span><span style="color: #000000;">10000</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">66</span> <span style="color: #000000;">            y1 </span><span style="color: #000000;">+=</span><span style="color: #000000;"> </span><span style="color: #000000;">10000</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">67</span> <span style="color: #000000;">            x2 </span><span style="color: #000000;">+=</span><span style="color: #000000;"> </span><span style="color: #000000;">10000</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">68</span> <span style="color: #000000;">            y2 </span><span style="color: #000000;">+=</span><span style="color: #000000;"> </span><span style="color: #000000;">10000</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">69</span> <span style="color: #000000;">            Lx[</span><span style="color: #000000;">2</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> i] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Line(x1,x2,y1,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;">70</span> <span style="color: #000000;">            Lx[</span><span style="color: #000000;">2</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> i </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Line(x1,x2,y2,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;">71</span> <span style="color: #000000;">            Ly[</span><span style="color: #000000;">2</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> i] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Line(y1,y2,x1,</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;">72</span> <span style="color: #000000;">            Ly[</span><span style="color: #000000;">2</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> i </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Line(y1,y2,x2,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;">73</span> <span style="color: #000000;">        }<br /> </span><span style="color: #008080;">74</span> <span style="color: #000000;">        Arrays.sort(Lx);<br /> </span><span style="color: #008080;">75</span> <span style="color: #000000;">        Arrays.sort(Ly);<br /> </span><span style="color: #008080;">76</span> <span style="color: #000000;">        level </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;">[</span><span style="color: #000000;">20001</span><span style="color: #000000;">];<br /> </span><span style="color: #008080;">77</span> <span style="color: #000000;">        Scan(Lx);<br /> </span><span style="color: #008080;">78</span> <span style="color: #000000;">        Scan(Ly);<br /> </span><span style="color: #008080;">79</span> <span style="color: #000000;">        out.println(ans);<br /> </span><span style="color: #008080;">80</span> <span style="color: #000000;">        <br /> </span><span style="color: #008080;">81</span> <span style="color: #000000;">        out.close();    <br /> </span><span style="color: #008080;">82</span> <span style="color: #000000;">    }<br /> </span><span style="color: #008080;">83</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) </span><span style="color: #0000ff;">throws</span><span style="color: #000000;"> IOException {<br /> </span><span style="color: #008080;">84</span> <span style="color: #000000;">        picture t </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> picture();<br /> </span><span style="color: #008080;">85</span> <span style="color: #000000;">        t.done();<br /> </span><span style="color: #008080;">86</span> <span style="color: #000000;">        System.exit(</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br /> </span><span style="color: #008080;">87</span> <span style="color: #000000;">    }<br /> </span><span style="color: #008080;">88</span> <span style="color: #000000;">}<br /> </span><span style="color: #008080;">89</span> </div> <br /> q道题用了离散化的方?br /> <br /> 其实最朴素的方法就是在一?0000*20000的矩阵上面把所有的Ҏ出来Q然后把q些点的周长出来,不过周长这一步也是很ȝ的?br /> <br /> 因ؓ毕竟q有可能出现“I心”的情?br /> <br /> 用离散化的方法就是想办法只数每条U段Q而不ȝ其他I白的地Ҏ怎么L?br /> <br /> ׃我们是需要算周长的,所以只需要看矩Ş的四条边可以了?br /> <br /> 然后Q我们就是先看所有的横边Q再看竖辏V?br /> <br /> 先把横边全部选出来,攑֜一个数l里面,然后排序Q从下到上?br /> <br /> 一个矩形的两条边要分成始边和终边,排序的时候,如果U坐标相同,那么应该把始Ҏ在终辏V?br /> <br /> 如果遇到始边Q那么就把这条边上面的所有点level[j]加一?br /> <br /> 如果遇到l边Q就把那条边上所有的点的level[j]减一<br /> <br /> 于是Q当一条边上的点的leve?的时候,那么p明这条边肯定是始边边~,所以要ans++<br /> <br /> 另一U情况,当一条边上的点的level?的时候,那么说明q个Ҏl边边缘Q所以ans++<br /> <br /> q样扫完横边再扫竖边?br /> <br /> 最后的ans是周长了?br /> <br /> 不过q个法的时间效率ƈ不是非常的好Q因为数据比较弱Q可能是q样Q?br /> <br /> 如果真的是有5000个矩形,没个矩Ş都是20000×20000的,那么可能会超?br /> <br /> <img src ="http://m.tkk7.com/LittleDS/aggbug/269352.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/LittleDS/" target="_blank">杨磊</a> 2009-05-07 10:33 <a href="http://m.tkk7.com/LittleDS/archive/2009/05/07/269352.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACOl于?.5?/title><link>http://m.tkk7.com/LittleDS/archive/2009/05/06/269313.html</link><dc:creator>杨磊</dc:creator><author>杨磊</author><pubDate>Wed, 06 May 2009 15:57:00 GMT</pubDate><guid>http://m.tkk7.com/LittleDS/archive/2009/05/06/269313.html</guid><wfw:comment>http://m.tkk7.com/LittleDS/comments/269313.html</wfw:comment><comments>http://m.tkk7.com/LittleDS/archive/2009/05/06/269313.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/LittleDS/comments/commentRss/269313.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/LittleDS/services/trackbacks/269313.html</trackback:ping><description><![CDATA[虽然?.1开始,大部分题目都要借助于NoCow和网上的解题报告Q但是还是学C不少的东ѝ?br /> <br /> 原来认ؓ只要熟练的掌握各U算法,那就可以随便d题,现在发现其实不是q样?br /> <br /> 有很多题目,都需要进行一些{化,也可以说是徏模,才能套用现成的算?br /> <br /> 而有一些题目,Ҏ没有现成的法Q只能你自己L<br /> <br /> q种法基本上是不属于Q何一cȝ<br /> <br /> q有一些比如说剪枝Q虽然搜索谁都会QBrute Force谁都会写Q但是剪枝却不是谁都能写的出来的<br /> <br /> q就需要一些数学功?br /> <br /> 现在发现q个东西必须要长q篏月的U篏才能够达到驾d熟的境界?br /> <br /> 但是q那样Q也不能保证所有的题目都会做?br /> <br /> <img src ="http://m.tkk7.com/LittleDS/aggbug/269313.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/LittleDS/" target="_blank">杨磊</a> 2009-05-06 23:57 <a href="http://m.tkk7.com/LittleDS/archive/2009/05/06/269313.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://zc-zk.com" target="_blank">޹պ˳</a>| <a href="http://65123456.com" target="_blank">͹Ƶ</a>| <a href="http://56ms.com" target="_blank">Ƶ߹ۿ</a>| <a href="http://hxpc28.com" target="_blank">þ۲ӰԺѿҹɫ</a>| <a href="http://www2626cf.com" target="_blank">Ʒ鶹123</a>| <a href="http://xsxdsb.com" target="_blank">ҹһëƬ </a>| <a href="http://hdznzdh.com" target="_blank">㽶߹ۿ</a>| <a href="http://tpwelert.com" target="_blank">˾þۺӰԺ</a>| <a href="http://x5k9.com" target="_blank">ëƬ벥</a>| <a href="http://www16am8.com" target="_blank">avһ </a>| <a href="http://www-92109.com" target="_blank">þþƷ5555</a>| <a href="http://56p6.com" target="_blank">2019Ļ6</a>| <a href="http://ulihix.com" target="_blank">վɫƵѹۿ45</a>| <a href="http://kdltuliao.com" target="_blank">avַ</a>| <a href="http://kppp4.com" target="_blank">պavѹۿ</a>| <a href="http://dazhe777.com" target="_blank">þþƷ</a>| <a href="http://cshjjc.com" target="_blank">Ƶxxxx</a>| <a href="http://714747.com" target="_blank">91޹߲ҹ</a>| <a href="http://58f8.com" target="_blank">ާžƷ</a>| <a href="http://woaianli.com" target="_blank">2020þþƷ</a>| <a href="http://gdjiayou.com" target="_blank">ƬѸ</a>| <a href="http://pohezi.com" target="_blank">˵avһ2</a>| <a href="http://uiui6.com" target="_blank">þþƷAV㽶</a>| <a href="http://xxxxnii.com" target="_blank">߾þþƷĹ</a>| <a href="http://51cga.com" target="_blank">ŮſȵͰƵ</a>| <a href="http://ddxsrd.com" target="_blank">ҹƷһƵ</a>| <a href="http://laochedao.com" target="_blank">޹Ʒþ98</a>| <a href="http://bcz123.com" target="_blank">޳ۺӰԺԺ</a>| <a href="http://yes5555.com" target="_blank">ĻۺϾþò </a>| <a href="http://520xiang.com" target="_blank">㽶Ƶ</a>| <a href="http://kkxzz.com" target="_blank">ҳƵվ</a>| <a href="http://qingdaostf.com" target="_blank">ҹƬ</a>| <a href="http://www-741.com" target="_blank">ձɱ˹ۿ</a>| <a href="http://zgj688.com" target="_blank">޾ƷƵ</a>| <a href="http://www321fafa.com" target="_blank">޾Ʒþһ</a>| <a href="http://www-774220.com" target="_blank">AvƷþ</a>| <a href="http://yeshenghuowang.com" target="_blank">þòþüӰԺ</a>| <a href="http://b2b-chinese.com" target="_blank">99߹ۿ</a>| <a href="http://701807.com" target="_blank">һػ¼Ѳŷ</a>| <a href="http://626632.com" target="_blank">鶹91Ƶ</a>| <a href="http://www96pg.com" target="_blank">AVɫ߹ۿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>