
Java Collection在遍历中删除、合并元素
我的分词结果链表需要合并连续的数字和日期,所以需要熟悉一下Java Collection在遍历的过程中同时删除、合并元素的小trick。自己试验了一下,活用listIterator的previous()和next()方法就可以达到目的。 遍...
我的分词结果链表需要合并连续的数字和日期,所以需要熟悉一下Java Collection在遍历的过程中同时删除、合并元素的小trick。自己试验了一下,活用listIterator的previous()和next()方法就可以达到目的。 遍...
AOJ 0531 Paint Color 涂色:(日文题目,自己翻译成了中文)为了宣传信息竞赛,要在长方形的三合板上喷油漆来制作招牌。三合板上不需要涂色的部分预先贴好了护板。被护板隔开的区域要涂上不同的颜色,比如上图就应该涂上5种颜色。 请...
在解AOJ 0531 Paint Color时,学到了一个累积和的妙用——imos法,由于原文是日语,所以特意翻译过来。值得一提的是,作者Kentaro Imajo跟鄙人同龄,却已取得如此多的成就,而鄙人一无所成,实在汗颜。 imos法 i...
POJ 2549 Sumsets 子集:从S中找出子集{a,b,c,d}使得 a + b + c = d且d最大。 3.2常用技巧精选(一) 折半枚举 睡不着,A一题提提神。子集最多有1000C4*4个,时限只有一秒。折半枚举有些...
前言 今天连查带抄地用Java实现了N最短路径,马上要用到自己的分词器里了。 N最短路径其实就是K最短路径(KSP)的变种,KSP指的是DAG中单源路径中前K条最短的路径。求解KSP的算法有删除算法、改进的删除算法(MS Algorithm...
POJ 3977 Subset 子集:从N个数中挑出非空子集使得和的绝对值最小。 3.2常用技巧精选(一) 折半枚举 子集最多有(2^N)235个,根本枚举不过来。所以折半先枚举前半,记录和及个数。在枚举后半时,使用二分法查找与相反数最相近...
Bigram语言模型中,分析的是连续两个词的组合概率。问题来了,“1人”和“2人”该怎么操作呢?这两个句子会被当成两种组合“1@人”和“2@人”,如果分别统计共现频次,会导致一个严重的问题,那就是对数词限定太死了,只在1人和2人的情况下能够...
POJ 2674 Linear world 线性世界:一条线上N只蚂蚁,每只蚂蚁速度固定,方向和坐标不同,碰头后掉头,求最后掉下去那只蚂蚁的名字。 3.2常用技巧精选(一) 弹性碰撞 首先想象整个世界只有一只蚂蚁,于是可以计算出爬行时间最长...
最近捡起8086汇编,用RadASM编译连接构建之后无法运行,提示“不支持的16位应用程序”。这才想起时过境迁,Win64已经废弃了对16位程序的支持,甚至连debug都废除了。作为老牌RadASM用户,我自然不甘心在虚拟机写汇编,于是摸索...
POJ 1222 Extended Lights Out 灭灯:有6 * 5的灯,一把下去可能关掉或点亮上下左右中5个灯,希望灭掉所有的灯,求灭灯方案。 3.2常用技巧精选(一) 反转 枚举第一行是否需要按开关就行了,第一行固定了的话,第二...