Google Code Jam 2015 Round1A 题解
摘要:快一年没有做题了, 今天跟了一下 GCJ Round 1A的题目, 感觉难度偏简单了, 很快搞定了第一题, 第二题二分稍微考了一下, 还剩下一个多小时, 没仔细想第三题, 以为 前两个题目差不多可以晋级了. 切出去玩了一会, 大概剩半小时, 发现自己的排名逐渐快超 1k了, 果断决定搞出第三题的小数据. 然后简单的O(n^3)的枚举过了. 然后有惊无险的晋级了. 第一题,读懂题目,然后计算就很好...
阅读全文
posted @
2015-04-18 13:55
O(1)的小乐
阅读(817)
推荐(0) 编辑
TCO 2014 Round 1C 概率DP
摘要:TCO round 1C的 250 和500 的题目都太脑残了,不说了。 TCO round 1C 950 一个棋子,每次等概率的向左向右移动,然后走n步之后,期望cover的区域大小?求cover,肯定就是dp[l][r][n], 走了n步之后,左边cover了l,右边cover了r。 一开始DP没有搞清楚,这个要画一下图就更清楚了。 转移方程就是概率的传递方向. 1: double d...
阅读全文
posted @
2014-04-29 13:01
O(1)的小乐
阅读(254)
推荐(0) 编辑
HDU 3487 Splay
摘要:给定两种操作,一种是把一个数列的某一段切下来插到剩余数列的某一个位置上。 一种是翻转操作,把数列的某一段进行翻转。 都是Splay的基本操作。标准的Rotateto调整出 [a,b]区间。然后对[a,b]区间修改parent标记和child标记。然后记住PushUp把修改标记推到树根上。简单一点就直接对某个节点spaly(x,0)就OK! 1: #include 2: #incl...
阅读全文
posted @
2014-04-28 15:13
O(1)的小乐
阅读(267)
推荐(0) 编辑
SRM 616 ColorfulCoins
摘要:题意:给定一个从小到大的货币面值,每一个面额都是其前面面额的倍数(倍数大于等于2),每一种货币面值对应一种颜色,目前不清楚面值与颜色的对应关系。要求用最少的查询次数来确定面额与颜色的对应关系。(一次查询是要求给出面额总数某一个值的货币即可,假设给出的货币数目总是最少的,而且是可行的) 官方题解:http://apps.topcoder.com/wiki/display/tc/SRM+616 key...
阅读全文
posted @
2014-04-24 16:03
O(1)的小乐
阅读(282)
推荐(0) 编辑
POJ 2411 压缩状态DP
摘要:这个题目非常赞! 给定一个矩形,要求用1*2 的格子进行覆盖,有多少种覆盖方法呢? dp[i][j] 当状态为j,且第i行已经完全铺满的情况下的种类数有多少种?j中1表示占了,0表示没有被占。 很显然,当每行被放了之后,有一些状态是不可能的,我们这里用1 表示竖着放,0表示横着放。 所以两个0 要相邻,这是程序中的s。 我们每一状态转移,枚举每一个可能的状态,我们希望dp[i][j] 中的j呈现出...
阅读全文
posted @
2014-04-17 13:06
O(1)的小乐
阅读(167)
推荐(0) 编辑
POJ 3254 压缩状态DP
摘要:题意:一个矩形网格,可以填0或1, 但有些位置什么数都不能填,要求相邻两个不同时为1,有多少种填法。矩形大小最大 12*12. 压缩状态DP大多有一个可行的state的范围,先求出这个state范围,对接下来的解题非常有帮助! 注意特判 N==1 的情况。#include #include #include #include using namespace std;vector t; // ...
阅读全文
posted @
2014-04-17 10:38
O(1)的小乐
阅读(137)
推荐(0) 编辑
TCO 2014 Round 1A
摘要:顺利搞出 A B 两题,然后压线晋级了,手速场。 A 题 , 求排列最小的,肯定从后往前来做,维护一个最小的set,只是第一个字母要特判一下。 1: #line 5 "EllysSortingTrimmer.cpp" 2: #include 3: #include 4: #include 5: #include 6: #include 7: #...
阅读全文
posted @
2014-04-14 18:43
O(1)的小乐
阅读(394)
推荐(0) 编辑
Google Code Jam 2014 Qualification 题解
摘要:拿下 ABD, 顺利晋级, 预赛的时候C没有仔细想,推荐C题,一个非常不错的构造题目!A Magic Trick 简单的题目来取得集合的交并 1: #include 2: #include 3: #include 4: #include 5: using nam...
阅读全文
posted @
2014-04-14 17:08
O(1)的小乐
阅读(1643)
推荐(0) 编辑
POJ 1860 SPFA 最长路
摘要:货币兑换问题,经典问题,这个问题解决的关键是发现,如果存在正环,那么一定是YES。稍微改一下SPFA,寻找一个图中的正环。 1: /** 2: search the longest path , just jude whether there are a positve cycle. 3: 4: */ 5: 6: #include <queue> 7...
阅读全文
posted @
2012-11-09 23:26
O(1)的小乐
阅读(1863)
推荐(0) 编辑
POJ 3169 查分约束方程
摘要:一道简单的差分约束方程,差分约束方程由Bellmanford转换而来,一组差分方程由 x-y <=d 的形式,而在最短路中松弛条件有dis(x)<= dis(y)+w。 所以产生了一条由y连向x的有向边,权重为d。 https://github.com/Sosi/ProgrammingContest/blob/master/OnlineJudge/POJ/PKU3169.cpp 1: ...
阅读全文
posted @
2012-11-09 21:39
O(1)的小乐
阅读(219)
推荐(0) 编辑
连续区域最大矩形面积 POJ 1964 2082 2559 2796 3250 3494
摘要:/*初始的想法如下: 维护一个栈,使得:h[stack[0]] < h[stack[1]] < h[stack[2]] < ... < h[stack[top]]先在h[]的两端加上哨兵,h[0] = -1 , h[n+1] = -1。初始时,stack[0] = 0 , top = 0 。当计算第i个柱子的L值时,先从栈顶依次弹出比h[i]高或等于的柱子。此时,满足:(从栈的维护过程可以得知)h...
阅读全文
posted @
2011-05-30 14:46
O(1)的小乐
阅读(1791)
推荐(0) 编辑