- 博客(101)
- 资源 (1)
- 收藏
- 关注
原创 测试
u011276914的专栏目录视图摘要视图订阅管理博客写新文章 测试 [草稿]2014-10-02 11:18 3人阅读 评论(0) 收藏 编辑 删除版权声明:本文为博主原创文章,未经博主允许不得转载。给我写信上一篇HDU 4285 circuit
2016-10-29 18:08:43 559
原创 HuNan Province Multi-School Competition(2014-04-13) Problem K-Cliff Walk Solution
Problem : 在某个盛夏之夜,桑海之滨,zhexipinnong仰望着星空,皎洁的月光,凉爽的海风......突然, 啊! Help me!! Help! .....H..e...l.....p.......。 zhexipinnong被潮汐卷走了。 另一个故事又开始了: little_w家在一个H x W的网格型(每个格子大小为10 x 10m)的坎坷的沙滩上,坐标为(X,Y)
2014-04-15 07:45:06 856
原创 COJ 1208 Fibonacci sum
题意: 求Fibonacci数列前N项的K次方和。分析: 这种题明显是用矩阵快速幂解决 ,问题是怎样找出递推方程。由Fibonacci数列的性质知: f(i) = f(i-1) + f(i-2) ; f(a)^k = [f(a-1) + f(a-2)]^k二项式展开有个很好的性质:展开后与原式保持齐次。 正好可以用在这里。f(a)^x * f(a-1)^(
2014-04-02 13:10:48 886
原创 Codeforces Round #236 (Div. 2) [ C题+D题+E题]
CSearching for Graph题:让你构造一个无向图 , 满足这样的条件:the graph contains exactly 2n + p edges;the graph doesn't contain self-loops and multiple edges; for any integer k (1 ≤ k ≤ n), any subgra
2014-03-17 15:41:58 668
原创 uva 10816(二分,最短路)
题意:在沙漠中找一条道路,满足这样的条件: 使最高温度尽量低,如果有多条输出路程最短的一条。分析: 只要二分最高温度,只留下满足温度限制的道路, 再求最短路即可。在该题的数据规模下,这样做的复杂度完全可以满足。代码: #include #include #include #include #include #include using namespace std;
2014-03-15 15:01:53 649
原创 uva 11183(最小树形图)
求最小树形图,也称为最小有向生成树。 朱-刘算法的过程为: 预处理: 删除自环 ,并判断能否从根节点到达其他所有节点。① 给非根节点找最小入边 。 ②如果这些边不构成环 ,则找到最小树形图。否则把各圈缩成点,继续重复操作。③缩圈后要重新标号,和修改一些边的权值,确保的到答案正确。代码: #include #include #include
2014-03-15 12:59:52 885
原创 LA 4452 The Ministers' Major Mess(2-SAT)
题意: n 个人对m个方案投票 。 每个人最多对4个方案投票, 问是否存在一种决定 , 使每个人都有超过一半的建议被采用 。 且哪些方案的态度是确定的。这个题并不难, 只要简单的分析一下就可以发现,投票数=3的人的建议最多只能有一个不采用。代码: #include #include #include #include #include using nam
2014-03-12 12:36:47 1195
原创 UVa 11419 SAM
求最小覆盖集 , 并输出方案。二分图的相关性质: 最小覆盖集 = 最大匹配数最大独立集 = 节点数 - 最大匹配 即最大独立集和最小覆盖集互补。要输出方案的话 。 从所有左边的未匹配点出发dfs()则有: 最大独立集 = S + T' 最小覆盖集 = S' +T .代码:#include #include
2014-03-08 00:04:59 901
原创 浙大月赛 ZOJ Monthly, March 2014(简单题的题解)
AAlice and Bob and Cue Sports模拟题:桌球 , 需要非常细心,读懂每条规则 , 对于英语水平低下编程能力不高的我,是个大大的挑战!参考代码:#include #include #include #include #include #include #include #include #include #include #inclu
2014-03-03 01:01:21 1103
原创 入门经典-训练指南5.1 图论基础例题
UVA - 11624Fire!#include #include #include #include #include using namespace std;const int maxn = 1010;const int INF = 1000000000;typedef pairPII;char mp[maxn][maxn];int t_fire[maxn][ma
2014-02-15 00:32:55 803
原创 uva 10808 - Rational Resistors
uva 10808 - Rational Resistors题意:给出一个纯电阻网络,求任意两点间的等效电阻 , 输出分数形式。看似简单的电路题用程序实现起来却非常棘手,首先得自己定义分数的各种运算,有不确long long 的精度是否够用。。思路很简单,一个比较简单的方法是采用节点电压法(参见http://baike.baidu.com/link?url=tsPt2fO-B8N57
2014-02-15 00:11:43 861
原创 uva 10601 Cubes(等价类计数,Burnside引理)
uva 10601 Cubes(等价类计数,Burnside引理)告诉你12根棒子的颜色,问一共能拼成多少个不同的正方体?(通过改变空间位置变成相同的正方体,则视为同一种方案)一看到这题感觉束手无策,即使你空间想象能力再好,恐怕也难以想出方案数。。Burnside引理提供了一个良好的工具,下面就以此题为例详细介绍Burnside引理及其应用。/* 等价类计算问题
2014-01-16 15:21:46 868
原创 LA 4485 Crossing Rivers(概率,期望)
LA 4485 Crossing Rivers从A到B的过程要坐船经过几条河 ,每条船的初始位置和行驶方向是随机等概率的 。求从A到B的期望时间?分析:假设:河宽L, 船速V , 初始位置X ,过河时间t .则 E[ t ] =
2014-01-15 13:52:27 745
原创 LA 4411 Addition-Subtraction Game(无环图上的博弈,SG)
LA 4411 Addition-Subtraction Game题目内容过多,此处不再描述。典型的SG定理的应用,把“整个图只有一个顶点的value=1,其余节点的value=0,的游戏”看成单个子游戏。好好利用亦或运算的性质可大大降低复杂度,如:偶数个相同子游戏的SG值的亦或 必为零 。参考代码:#include #include #include #inc
2014-01-14 21:25:43 1016
原创 LA 3668 A Funny Stone Game(博弈,SG定理)
LA 3668 A Funny Stone Game题意:有n堆石子,编号为0~n-1。第i堆有Si个石子 ,两个人轮流操作。每次可以选3堆i,j,k(i分析:先考虑这样一个简单点的游戏:[ 记为game(i) ] 同样有n个堆,但只有其中一个堆(设为i)有一个石子,操作规则和上面的游戏相同。问先手必胜还是必败?如果你熟悉SG定理,一定可以马上想到解决方法。SG[ i
2014-01-14 18:05:12 1009
原创 codeforces Round 223 div1 A Sereja and Prefixes
codeforces Round 223 div1 A Sereja and Prefixes这题只需注意到只会复制前10^5的数 ,就不难了 ,可是我写错了,硬是没找出来。。只需存储前10^5个数即可。我的代码:#include #include #include #include #include #include #include #inc
2014-01-13 02:20:45 1163
原创 codeforces 377C Captains Mode
题目链接不管选取还是禁止,只需要考虑战斗力最高的前m个即可,后面的根本就没任何作用, 100吓唬人的 。若想到这里 ,解下来一个状态压缩dp就搞定了,复杂度为m*2^min{n , m}dp[ d ] [sta] : 第d次操作 , sta为二进制压缩状态, 1表示该英雄可被选取或禁止 , 0 表示禁止操作该英雄 。参考代码:#include #include #i
2014-01-12 15:53:38 1080
原创 codeforces 377B Preparing for the Contest
codeforces 377B Preparing for the Contest题目是求在支付passes之和不超过s的前提下,让所花时间尽量少的一种方案。分析:明显有两个限制条件:passes和所花时间 ,如果同时对两个条件进行处理很难搞,只能先固定一个条件,求另一个条件的最优解 。这题如果先固定passes不超过s,求最少时间不是那么容易 ; 反过来 若二分天数 ,
2014-01-12 13:10:02 910
原创 SPOJ - GCJ1C09C Bribe the Prisoners
SPOJ - GCJ1C09C Bribe the Prisoners每释放一个犯人,就必须贿赂所有此消息能够传到的人,安排最佳释放顺序,求最少用钱。用dp[L , R] 表示释放[L , R]范围内的所有需要释放的犯人所需金钱 ,想到此区间dp的话,接下来就不难解了。虽然L和R最大值都是10000 , 复杂度却不是10000^2 ,实际上L和R的值只和犯人位置有关 , 故
2014-01-11 07:20:12 1982
原创 LA 4064 Magnetic Train Tracks
LA 4064 Magnetic Train Tracks从这题中学到了按极角排序后再统计的方法,类似的题有uva11529 Strange Tax Calculation.由于价格也路程的平方成正比,且要使最短路程同时也价钱最少,故只有锐角三角形符合要求。我们知道每一个直角或钝角一定是对应一个三角形,这很利于从反面进行统计,(而统计锐角却很棘手,不管什么三角形都存在锐角),然后以该钝
2014-01-10 02:01:43 907
原创 LA 3357 Pinary
LA 3357 Pinary写出前几个pinary数,会发现有1个一位数,1个两位数,2个三位数,3个四位数,5个五位数。。。。 没错就是斐波那契数列。找到这个规律后接下来的问题就迎刃而解了。参考代码:#include #include #include #include #include using namespace std;typedef long long L
2014-01-10 01:39:47 865
原创 codeforces 9D How many trees?(DP,注意状态表示方法)
题目链接分析:比较一下各种状态表示,①dp[n][h] 若表示n个节点深度为h,则每次转移需要O(n*h^2),不够优; ②若dp[n][h]表示n个节点深度大于等于h,转移时的条件是至少有一个儿子的深度大于等于h-1,发现转移略复杂,是:[“左儿子深度=h-1"] + [“左儿子深度>=h-1” * "右儿子深度=h-1" * "右儿子深度>=h-1"] ,这三种情况的组合,
2013-12-03 00:40:11 1140
原创 LA 3720 highway(利用动态规划思想,将复杂度急降,9ms)
题目链接此题的解决方法可参考:http://blog.csdn.net/incredible_bly/article/details/11821403这种可以接受,但是还可以更快吗?计算过程有个 tmp = (m-x+1)*(n-y+1) 这个咋看只能适用于n*m的情况无法扩展,将其展开: tmp = N*M - N*x - M *y + x*y [N = n+1 , M =
2013-12-01 21:17:19 874
原创 CodeForces 113B Petr#(KMP + 字符串hash)
题目链接:分析:这题用hash来判重效率不错。可以先用KMP预处理出所有起点和终点,从每个起点出发,向后hash ,遇到终点就判断字符串是否出现过(若么出现过就ans+1),否则跳过。。参考代码:#include #include #include #include #include using namespace std;const int maxn = 2050;c
2013-11-29 00:46:02 1499
原创 有关线性方程组求解的理解
线性方程粗求解无非是把增广矩阵变成上三角矩阵、对角矩阵或阶梯矩阵。其求解过程大致相同,略有不同,对角矩阵少了回代过程,时间复杂度略高 , 但都是O(n^3) . 利用到矩阵的性质是: 将其中一行的任意K倍加到另一行上去后,矩阵与原矩阵等价(解方程时是不是也可以将一个方程的任意倍加到另一个方程上去。。)用(i , j ) 表示当前正在处理第 i 个方程的第 j 个变量。上三角矩阵和对角
2013-11-27 17:55:39 2361
原创 UVA 11542 Square(求增广矩阵的秩)
题目链接给定素因子不大于500的n(n分析:若直接枚举所有子集,有2^n种难以承受,换种思路,我们可以用Xi来表示是否选第i个数 ,由于每个素因子必须是偶次幂,故可对每个素因子列出一个模2的方程。 然后问题就转换为求这个线性方程组的自由变量个数了(即方程个数 - 增广矩阵的秩)。 比如:n=2个数 8 =2^3 、 9 = 3^2有两个素因子2和3,可列出两个方程:3*X1
2013-11-27 17:10:53 2589
原创 VUA 11828 Back to Kernighan-Ritchie(状态机,高斯消元法解线性方程组)
题目链接初次做线性方程组的题。可用高斯-约当消元法将原增广矩阵化为对角阵。需要注意无穷解、不定解等特殊情况。。用一组数据解释一些特殊情况:51 22 33 24 55 40 051 2 3 4 50化简后的对角阵为:1.000000 0.000000 0.000000 0.000000 0.000000 1.0000000.
2013-11-27 13:27:14 922
原创 LA 3704 Cellular Automaton(循环矩阵)
题目链接分析:这题矩阵规模略大,直接算下来要500^3*log(10^7),不过有个非常好的性质可以利用,循环矩阵*循环矩阵 = 循环矩阵 ,这样就可以将复杂度降低500;参考代码:#include #include #include #include using namespace std;const int maxn = 550;typedef long long LL
2013-11-25 20:13:22 831
原创 2013长沙现场赛 K . Pocket Cube
题目链接通过一次比赛 , 发现自己还是有很大差距。。这题确实很简单 , 但现场时我没调出来 ,泪奔。。。说明我得代码能力还是很弱的。现场时敲出来的代码风格非常不好,及难调试。错误代码: (看上去很乱,难以检查)/**/#include #include #include #include #include using namespace std;const
2013-11-25 18:46:31 781
原创 UVA 10561 Treblecross(组合游戏_SG定理的应用)
题目地址例题 ,强大的SG定理。。SG != 0 -----win ; SG == 0 -----lose ;SG的计算:单个游戏: SG = mex ( S ) , S是所有后继态(可能是单个游戏,也可能是组合游戏)的SG函数值集合。组合游戏: 各子游戏SG值的亦或值参考代码:#include #include #include #include
2013-11-23 15:01:44 867
原创 Warm UP for Changsha
地址 :http://122.207.68.93:9090/csuacmtrain/contest/view.action?cid=114#overviewUVA 12653矩阵快速幂 来递推#include #include #include #include using namespace std;typedef long long LL;const LL MOD = 1
2013-11-16 01:10:23 621
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人