- 博客(112)
- 收藏
- 关注
原创 2013长沙网络赛J题 Candies(差分约束或数学规律)#by zh
这题真心神坑,刚拿到这个题,想了一会,感觉可以用差分约束做,写完了之后稍微调了一下,交上去WA了,改了一会也还是WA,以为是算法错了。然后发现是有规律的,又改用数学方法去做,写的有些挫,出数据调了不少bug,但是还是WA到死,最后也没做出来。今天又想了一下,队友发现每个点取值的范围是非负,而不是0到10000,不得不吐槽题意真心坑,然后把之前的两个代码都去掉10000的约束以后都过了。读题是硬伤啊
2013-09-23 21:33:47
1683
原创 XDU_Truth 网络赛热身小结
XDU_Truth 网络赛热身小结1. 杭电热身赛: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=31751#overview6道百人水题+用随机算法YY出一道中档题。另外一到50人中档题卡那里了。RANK83。2. 2011成都网络赛:http://acm.hust.edu.cn/vjudge/con
2013-09-18 19:14:03
889
原创 【Just AC it】IA 动态规划 小结 byPlato
【Just AC it】IA 动态规划 小结 综述:8#21开的题目,开学8#26-9#1休息了一个星期,然后今天把最后3题写了。题目质量很高。能不看题解做出来的就3道:A(树状数组模拟)、C(做过)、E(不算难的树形DP);其他5道都多少要看了题解才行。A题想不出递推方程,B题卡在转化为LIS那里,D题知道是状压但是思路有点小问题,F卡在优化状态+化简方程,G根本没什么思路。
2013-09-02 23:53:04
1036
原创 暑期训练个人小结 byPlato
暑期训练个人小结 byPlato 从7月25到学校开始正式投入训练,到今天,恍惚间已经时间已经流过1个月。我开始在记忆里,拾起那些碎片,还原那些时光的面貌。 比赛刷题篇1. HDUOJ 在杭电OJ上做了10场多校和3场邀请赛重现。翻了下成绩:1:3题,1932:2题,1753:3题,614:4题,1195:4题,746:1题,1897:3
2013-08-26 01:27:18
1178
原创 8#15 - 多校8
03 - Mine (博弈 - 可以转化为取石子的博弈)04 - Terrorist's destroy (DP - 树的直径,先用DP求直径的方法求出需要的几个参数,然后枚举要删除的边,再根据参数计算出两棵树的直径,更新答案)06 - String (DP - 最长公共自序列+枚举,枚举C在A、B中的位置,再对A、B的前端、后端分别求一次LCS)10 - Prince and Pri
2013-08-18 09:26:10
545
原创 8#17 - 南京邀请赛
01 - Play the Dice (DP求期望)02 - TWO NODES (图论--连通分量)03 - Count The Carries (数学,统计1的个数)07 - Boring Game 08 - Robot09 - Script Z11 - Yet another end of the world (数论,解不定方程)Hard:0405
2013-08-18 09:14:27
951
原创 HDU 4669 Mutiples on a circle (环形数列DP)byPlato
HDU 4669 Mutiples on a circle (环形数列DP)byPlato http://acm.hdu.edu.cn/showproblem.php?pid=4669题意: 一个环形数列,可以把相邻的一段合并为一个数字。求其中有多少段能被k整除。(数列长度5W,k200) 题解的做法还没有看懂。。。下面是我自己的做法先不考虑环的情况,线性数列下,很容易发现
2013-08-14 15:01:03
1179
原创 8#10 - 杭州邀请赛 重现
01 - Robot 02 - X-Boxes03 - Transformation04 - Random Walk07 - DFS spanning tree09 - Building bridges10 - ShaolinHard05 - 06 - 08 - 传送门:SolvedPro.IDTi
2013-08-14 11:09:08
1265
原创 8#13 - 多校7
01 - hyperspace ()02 - building fence (计算几何,求圆和多边形的凸包,网上找的模版)03 - finding string04 - Mutiples on a circle06 - Backup Plan (构造,分两步,第一步考虑没有服务器坏的情况下,每台服务器active的数据库;然后依次考虑某一台服务器坏的之后,原来active的数据库平
2013-08-14 11:02:29
1032
原创 博弈论学习小结&HDU 4664#by zh
上次多校有道博弈的题,完全不知道怎么做,赛后艾神说用SG函数然后异或什么的,但是当时根本不知道是什么东西,于是就看了一下博弈,感觉还是不太难的。这几天做了一些博弈入门的题目,在这里总结一下。 以取石子游戏为例,一堆石子有n个,每次每人最多取k个,先取光者胜。对于游戏中的任意一种状态,只有两种可能,先手必胜,或先手必败。我们称先手必胜的点为N点,先手必败的点为P点,则对于一个确定的
2013-08-12 22:22:42
1043
原创 8#9 - 多校6
8#9 - 多校6 [已经做出来的题目红色标记,hard题目是AC队伍 01 Cut Pieces - 数学04 Integer Partition - 数学 (整数拆分,五边形数)07 Message Passing 08 MU Puzzle10 Triangulation11 Unshuffle Hard:02 Evaluation - 数学
2013-08-09 01:09:45
896
原创 Codeforces Round #194 (Div. 2) 题解
Codeforces Round #194 (Div. 2) 题解 A - Candy Bags 平分糖果一共有(1+N*N)*N/2个糖果,每个人就是(1+N*N)/2个。对称输出就好了。1-N*N,2-N*N-2,i - (N*N-i+1)。 B - Eight Point Sets 3个横坐标和3个竖坐标能确定9个点,问给出的点是不是9个点中的外面8个。
2013-07-28 14:53:39
1335
原创 HDU 4612 Warm up(双连通分量)#by zh
之前只是听说过双连通分量,没有自己去写过,这次遇到了果断没有做出来,看题的时候算法是想到了的,奈何实在太挫了,写不出来。之前想用dfs找环再标记缩点,结果wa了,不知道怎么调就放弃了。今天看了一下Tarjan找桥和割点的方法还是比较简单的,当dfn[u]v是桥,然后标记一下,重新建图,求一个直径就好了。#pragma comment(linker, "/STACK:1024000000,10240
2013-07-26 23:00:24
704
原创 HDU 4614 Vases and Flowers(线段树)#by zh
这两天做比赛的状态实在是太差了,尤其是那天就睡了4个小时,早上到学校,下午就去做比赛了,什么题都不想写。其实就是个线段树,不过今天写了好久也没写出来,最近确实做题太少了,之前没有想到二分找点的位置,看了题解才知道,第一次二分还写错了,不过想了一下就调好了,其实还是挺简单的成段更新的线段树。#include #include #include using namespace std;#d
2013-07-26 22:54:18
759
原创 POJ 1655 - DP 树的重心,经典 #P
POJ 1655 - DP 树的重心,经典 #P 题意:求树的重心。树的重心:删去重心后,生成的多棵树尽可能平衡。重心的意义,在对树进行分治的时候可以避免N^2的极端复杂度(从退化链的一端出发),保证NlogN的复杂度。 解法:一开始想到的是模仿求树的直径那样子去Dp,两次DFS。son[i] - 结点i的儿子结点数目第一遍求出son;h[i] - 结点i向
2013-06-16 09:40:32
3833
原创 2013长沙邀请赛 G - Travel in time #P
<!--img {max-width:100%}@font-face {font-family:宋体}@font-face {font-family:"Cambria Math"}@font-face {font-family:微软雅黑}@font-face {font-family:"\@微软雅黑"}@font-face {font-family:
2013-05-28 22:56:05
1199
原创 UVALive 6047 Perfect Matching(字符串哈希)#by zh
周三做这场比赛的练习,这题过的人挺多的,但是一直没有好的思路。当时想的时候以为是字典树,但是具体的不知道该怎么做,后来看别人AC的代码才知道用简单的字符串哈希,或者其他的比如字母个数的限制条件优化一下就能过了,确实挺简单的,当时没有想到。写这题也没找什么字符串哈希的函数就是简单的哈希一下,如果相同再枚举判断一下就好了,有人可能对自己的哈希函数(或者说是人品)太自信,哈希值一样就认为是回文,我那样的
2013-04-21 01:49:52
807
原创 ZOJ Monthly, March 2013 A题 A Simple Tree Problem(线段树)#zh
这次月赛太无语了。H题看起来是个全场题不知道为什么大家都被卡的蛋疼,于是就去想A题了,开始没什么想法,还以为要开N个线段树,后来WQJ说先序遍历一下就可以转换成1维线段树了,想一下确实是这样。由于不是二叉树,开始建树的时候有点蛋疼,用了数据结构讲过的儿子兄弟表示法(看来严蔚敏那本书还是有点用的)。建树之后遍历出每个节点在线段树中的对应位置和子树中节点的总数。接下来就是更新和查询的线段树操作了,一开
2013-03-31 17:02:30
1288
原创 HDU 4521 小明系列问题——小明序列 DP – LIS加强版 #by Plato
HDU 4521 小明系列问题——小明序列 DP – LIS加强版 #by Platohttp://acm.hdu.edu.cn/showproblem.php?pid=4521 题意:给个序列,求其最长上升序列(LIS)。增加了个额外的条件,子序列中相邻两个距离必须大于D。Idea: 数据比较大,N = 10^5,得用 NlogN的算法,并且考虑那个额外的条件。大致的,增加
2013-03-27 23:11:59
1217
原创 URAL 1651 Shorest Subchain DP #by Plato
http://acm.timus.ru/problem.aspx?space=1&num=1651题意: 给出一个有向图的chain,求关于这个chain的shortest subchain(起点、终点与原chain相同&边出现的顺序与原chain相同)。Idea:一DP : 依次处理每个a[i] : f[a[i]]=f[a[i-1]] + 1; 个人感觉这道题,难不在DP
2013-03-25 22:29:41
1008
原创 HDU 4504 威威猫系列故事——篮球梦(DP)#by zh
昨天做比赛的时候状态确实不太好,而且之前的dp题基本都没做过,直接就扔给WQJ去想了,现在做DP的时候没怎么有思路,昨天做这题的时候没什么想法,后来好甜说是背包方案数,昨天晚上睡觉的时候想了一下好像确实挺简单的,今天敲过去了。就是算出来自己的决策有多少个阶段,每个阶段都有三种决策,1,2,3中的一种。所以状态转移方程也就很好写了if(dp[i-1][j]){dp[i][j+1]+=dp[i-1][
2013-03-21 12:34:13
1905
3
原创 UVA 12530 Game of Tiles(二分匹配)#by zh
这道题的题意是说给一个长方形的board,然后有的点能走,有的点不能走。第一个可以选择任意一个能走的位置走,另一个人只能在上一个位置的周围继续走,如果有人不能继续走就输了,问有谁存在必胜策略。当时做题的时候也想过可能是匹配问题,但是因为也在想别的题,没怎么仔细想,后来看别人的代码确实是一个匹配的问题。就是建图以后找匹配,如果找不到了就是后手的人获胜,否则先手获胜。由于枚举的时候不是在二分图的其中一
2013-03-19 16:02:40
976
原创 SGU 155 Cartesian Tree(线段树)#by zh
题意很明确就是构造笛卡尔树,但是时间卡的很紧。之前在POJ上做过这道题,但是那次做的题时间很宽松,用上次的解法放到这题上就TLE了,比赛的时候也没想起来更好的解法。其实现在想想还是比较容易想到的,首先按照k值排序,然后在1到n直接找最小的元素作为根节点,然后左边的元素都是左子树,同样的方法递归找左子树的根节点,在找的过程中更新解,最后直接输出就可以了。#include #include #in
2013-03-19 00:09:12
795
原创 URAL 1658 Sum of Digits (DP) #by Plato
URAL 1658 Sum of Digits (DP) #by Platohttp://acm.timus.ru/problem.aspx?space=1&num=1658http://acm.hust.edu.cn/vjudge/contest/view.action?cid=20662#problem/B 题意: 已知一个长度 解法: f[i][j] 代表 每位和为
2013-03-18 23:58:11
1539
1
原创 Regular Triangles(计算几何)
http://acm.timus.ru/problem.aspx?space=1&num=1659题意:给你一个正三角形的三个点坐标,求出在这个三角形内外分别3个点,使得以这些点为顶点的正三角形至少有9个构造如下,各种卡精度伤不起啊!code:#include #include #include #inc
2013-03-18 20:20:34
860
原创 ZOJ 1463 POJ 1141 Brackets Sequence (区间DP) #by Plato
ZOJ 1463 POJ1141 Brackets Sequence (区间DP) #by Platohttp://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=463 题意: 给一个括号序列,求 为使序列合法化所需要添加的最少括号书。要求输出合法化后的序列。 Idea: 比较明显的DP了,f[i][j] 代表从 第
2013-03-12 20:01:36
1532
1
原创 sgu153 Playing with matches (博弈dp)#by nobody
http://acm.sgu.ru/problem.php?contest=0&problem=153题意:有N根火柴,m个数p1,p2,p3,..pm(m解析:这个题有点类似与取石子游戏,我们不记f[n]为n根火柴时先取的是否有必胜策略(1或0).那么f[i]是只与f[i-1], f[i-p[1]], f[i-p[2]], ... f[i-p[m]]有关的,如果这些状
2013-03-02 16:26:29
715
原创 POJ2185(最小覆盖子矩阵) #by nobody
这个题关键要用到一个结论:最小覆盖子串(串尾多一小段时,用前缀覆盖)长度为n-next[n](n-pre[n]),n为串长。论证见这篇博客:http://blog.csdn.net/fjsd155/article/details/6866991其他的就没什么好说的了code:#include #include #include #include using
2013-02-01 21:58:29
1420
1
原创 String (扩展KMP)#by nobody
题目:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=18730#problem/BKMP:给出两个字符串A(称为模板串)和B(称为子串),长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](0扩展KMP:给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](
2013-02-01 21:38:57
533
原创 POJ2886(反素数+约瑟夫环+线段树)#nobody
反素数f(x):是指不大与x约数最多的数反素数的程序见我这篇博客:http://blog.csdn.net/xdu_truth/article/details/8043051先打表出来反素数,那么我们就可以知道n个人第几个人出来事最大的。然后就是个约瑟夫环问题,但是这题数据范围较大,所以就要用到线段树查找删除。CODE:#include #include #
2013-01-06 00:09:32
565
原创 12月小结#nobody
这个月忙着4级和期末貌似没有一点进度都没有啊。做了些数据结构的基础题。CF好久没做了,本来想刷完专题的,不过专题真心多啊。下个月暂时没有计划,先复习期末吧。寒假计划:做至少15场CF。把数学、博弈论、计算几何的专题尽量刷完吧。
2013-01-05 22:13:37
415
原创 Ball Stacking (DP+很有意思) #by Plato
题意:一个数字三角形,取球的规则是取A球的前提是叠在A上的球全部被取了,求最大的得分。思路:(我自己没想出来,看了别人代码,但是没看太懂,后来问了下CWK ,然后就懂了)#include #include #include #include #include #define OP(s) cout<<#s<<"="<<s<<" ";#define PP(s)
2012-12-31 08:24:39
737
原创 Trim the Nails (DFS+状态压缩) #by Plato
Trim the Nails (DFS+状态压缩)几星期前一次组队赛的题了,今天下午就找了这道题来补了,顺便学习了下状态压缩和位运算的一些知识了。。思路:看题就知道是DFS了,但是状态的表示需要压缩。具体,初始状态0000011111(M个1),目标状态0000000(全零)指甲刀也可以用一个压缩的整数met来表示,0表示good,1表示bad。这样剪一次指甲后的状态就是sta
2012-12-23 18:42:22
646
原创 POJ3274
这个题也是数组hash,不过很巧妙,先开始看不出来。后来看了别人的解题才知道。强烈推荐code:#include #include #include #include using namespace std;#define mod 999983struct hash{ int d; hash* next; hash(){next =
2012-12-12 22:00:57
504
原创 POJ3349 #no
用hash链地址法,取了个99997大素数就AC了#include #include #include #include #include using namespace std;const int mod = 99997;struct node{ int len[6];}f[100010];vector hash[100000];int size[1
2012-12-10 18:12:42
971
1
原创 求逆序数#no
今天做了下POJ2299,逆序数的2种方法:1.归并排序法:#include #include #include #include using namespace std;long long ans;int c[500100];int a[500100];void merge(int l,int m,int r){ int i = l,j = m+1;
2012-12-08 23:34:06
516
原创 11月末总结&12月计划 #by Plato
一转眼,11月就过去了。时间关系,现在才开始写上个月的总结,顺便把这个月的计划也准备下了。 下面是上个月的记录了:上半个月似乎没有刷什么题; 18号,一起在实验室做了一套国外的题,被一道DP卡了(现在也还没补出来,唉~)25号,在宿舍做TX的一个比赛。平时零零散散地刷了一些题,大概10道左右吧。 总之,不是太理想吧。1. 没做出来的题没有及时去补。
2012-12-05 22:45:25
552
原创 POJ 2941 Homogeneous Squares (数学)
比较有意思的数学题题意:给个N×N的棋盘,定义了一个叫做独立的点集(包含N个点,每两个点都不在同一行,同一列),棋盘上有数字,判断是全部的N!个独立点集的和都相同。Idea:1. 搜索?N!的空间(N=1000),不行2. 数学规律了(我直接去搜题解了),下面是copy的:一个矩阵“Homogeneous” 其所有2*2子矩阵都是“Homogeneous”证明如下
2012-12-05 21:04:08
2060
1
原创 2012ACM杭州site总结
2012年11月3日-11月4日,我们队有幸参加了第37届ACM国际大学生程序设计竞赛亚洲区杭州站的现场赛。在这次观摩和比赛中,我们队夺得了铜奖,并且学到了其他同行的一些先进经验。Truth在暑期培训时候组队和训练,由张辉,王千郡,陈文康我们三名队员组成。我们从一开使对ACM什么都不了解,到后来见识了ACM的博大精深,体会到ACM对解决问题的能力的提升。接触ACM之后,真有种相见恨晚的感觉。
2012-11-29 00:24:06
901
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人