HDUOJ
文章平均质量分 79
kalilili
双眼闭三年。
展开
-
HDU 1272 小希的迷宫(并查集)
题意:判一个无向图无环且处处连通思路:并查集,trap 可能直接输入0 0而且....合并的时候按某一个方向会爆栈,爆了好几次...下次考虑一下直接递归找祖先吧#include#include#include#includeusing namespace std;const int N =1e5+1e2;int fa[N];int getf(int x){ re原创 2015-03-15 00:39:01 · 646 阅读 · 0 评论 -
HDU 1814 Peaceful Commission(2-sat 输出字典序最小解 )
dfs求字典序最小的2-sat解方法:如果原图中的同一对点编号都是连续的(01、23、45……)则可以依次尝试第0对、第1对……点,每对点中先尝试编号小的,若失败再尝试编号大的。这样一定能求出字典序最小的解(如果有解的话),因为一个点一旦被确定,则不可更改。如果原图中的同一对点编号不连续(比如03、25、14……)则按照该对点中编号小的点的编号递增顺序将每对点排序,然后依次扫描排序后的原创 2015-05-13 15:11:26 · 1138 阅读 · 0 评论 -
HDU 4115 Eliminate the Conflict(2-sat 判解存在性)
题意:有两个人玩一个石头剪刀布的游戏,两个人连续玩N轮,给出其中一个人的N轮出的情况和该人对另外一个人的一些限制条件,有两种限制:每种限制表示为:(a,b,c) ,如果c==0 则表示该人对另外一个人的限制为第a局和第b局出的应该一样,如果c==1表示不一样,问另外一个人是否有赢(规定每轮都不输就称赢)的可能。思路:所以可以推出每轮必须出能平或赢的动作(两种选择)所以是2-sat。再找原创 2015-05-13 15:31:35 · 833 阅读 · 0 评论 -
HDU 5247 找连续数(RMQ+滑窗)
找连续数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 281 Accepted Submission(s): 102Problem Description小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道原创 2015-05-31 11:50:49 · 911 阅读 · 0 评论 -
HDU_3313_Key_Vertex(最小割)
题意:已给有向图,给定起点和终点S,T,问图中有多少个点去掉可以使S T不可达思路:按常规思路就是找一条最短路,最短路之外的所有点不符合条件,然后在最短路上搞搞就好了为了加深一下最小割的理解就用最小割写了此题拆点,拆点之间连容量为1的边,有向边连inf的边,最大流一下,显然关键点的拆点间的流是满流而且必须是最小割。然后就从满流+最小割这两点判断就可以辣,若u -> v 不是最小原创 2015-06-18 11:25:29 · 663 阅读 · 0 评论 -
HDU5262 15年百度之星复赛1005 最强密码(神奇的dp)(好题)
Problem Description由于近来密码库被盗的现象层出不穷,度度熊决定为自己的账号找一个最强密码。在研究了密码库很久之后,它总结出了一个规律:密码库中的所有密码都是一个“密码生成串”的子序列(某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列)。经过强大的计算集群夜以继日的工作,度度熊得到了这个“密码生成串”。现在它希望找到一原创 2015-06-06 20:37:17 · 1416 阅读 · 0 评论 -
HDU 5266 pog loves szh III (LAC)
问题描述pog在与szh玩游戏,首先pog在纸上画了一棵有根树,这里我们定义1为这棵树的根,然后szh在这棵树中选了若干个点,想让pog帮忙找找这些点的最近公共祖先在哪里,一个点为S的最近公共祖先当且仅当以该点为根的子树包含S中的所有点,且该点深度最大。然而,这个问题是十分困难的,出于szh对pog的爱,他决定只找编号连续的点,即l i ~r i 。输入描述若干组数据(不超原创 2015-07-07 20:25:07 · 993 阅读 · 0 评论 -
HDU 2586 How far away ? (初学LCA)
How far away ?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7739 Accepted Submission(s): 2769Problem DescriptionThere are n hou原创 2015-07-07 20:01:14 · 760 阅读 · 0 评论 -
HDU5277 YJC counts stars (图论知识平面图)
题意:给定一个平面图求最大团的个数和最大团内的顶点数数据范围:数据组数T思路:这是bc的一道题,中文题面语句太随便了,没看明白,看了英文后才看懂原来是一个平面图定义:一个图G,若可以将它画在平面上,使它的边仅在顶点上才能相交,则称图G为可平面图在纸上画画便可知最大团的最大为4,而且每添一个顶点极大平面图的边数只能增加3,而且的确有这个公式:m而且答案为4的最大团原创 2015-07-05 15:25:41 · 969 阅读 · 0 评论 -
HDU 5071 Chat(大模拟)
是2014鞍山赛区的一道银牌题。有这几个坑点:1.删掉某个窗口时,若此窗口时alwaystop,需要把alwaystop清零,还要把cnt清零,因为下次可能还打开此窗口和她聊天2.最后说Bey的时候,先对alwaystop说Bey,再对队列里的依次说Bey3.只有和她聊过天,才对她说Bey,否则不说//#pragma comment(linker, "/STACK:10240000原创 2015-11-13 00:36:40 · 581 阅读 · 0 评论 -
HDU 3072 Intelligence System(tarjan+DAG上的最小生成树形图)
题意:一个有向图,每条边都有花费,问从0节点把消息扩散至每个点所需的最小花费,且一个强连通分量里的节点间传消息不需花费思路:先缩点成DAG,再求以0为根的最小生成树形图。想一下就知道对每个节点(除了0节点)找一个最近的前驱点即可,因为DAG无环,所以每个节点(除了0节点)这样找下去必然每点的入度均为1,显然最终一定是一个树形图,而且必然是最小生成树#include#include#in原创 2015-04-24 22:39:49 · 988 阅读 · 0 评论 -
HDU 1811 Rank of Tetris(拓扑排序+并查集)
本题的主要问题就是给定m个名次大小关系,问每个人的名次是否能确定下来。这个问题可以用topsort解决,名次发生冲突即找不到topsort结果。由于关系太少导致的名次不能确定直接在topsort过程中检测入度为0的点是否每次出现2个以上(即t-h>=2)那么说明拓扑排序结果不止一种,名次不能确定#include#include#include#includeusing namesp原创 2015-04-24 22:35:26 · 531 阅读 · 0 评论 -
HDU 1573 X问题(一元线性同余方程组)
X问题Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3850 Accepted Submission(s): 1228Problem Description求在小于等于N的正整数中有多少个X满足:X mod原创 2015-04-07 11:12:01 · 925 阅读 · 0 评论 -
HDU 3635 Dragon Balls(并查集--路径压缩拓展应用)
题目大意:初始时,有n个龙珠,编号从1到n,分别对应的放在编号从1到n的城市中。现在又2种操作:T A B,表示把A球所在城市全部的龙珠全部转移到B城市。(第一次时,因为A球所在的城市只有一个球,所以只移动1个,如果有多个,则全部移动)。Q A,表示查询A。要求得到的信息分别是:A现在所在的城市,A所在城市的龙珠数目,A转移到该城市移动的次数(如果没有移动就输出0)思路:并原创 2015-03-14 23:12:08 · 614 阅读 · 0 评论 -
HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包 水)
Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1分别表示经费的金额和大米的种类,然后是m行数据,每行包含3个数p,h和c(1Output对于每组测试数据,请输出能够购买大米的最多重量,你可以假设经费买不光所有的大米,并且经费你可以不用完。每个实例的输出占一行。Sample Input 18 22原创 2015-03-19 22:55:10 · 944 阅读 · 0 评论 -
HDU 4923 Room and Moor(数学+YY)(好题)
题意:给定一个长度为n的,由0和1组成的序列ai,求一个序列bi,使得∑(bi-ai)^2最小。其中0思路:显然开头为0的的部分和结尾为1的部分不用考虑然后把其他序列划分成多个11111000形式的区域(这步也需要YY),每个区域分别求出bi(因地制宜的YY2333),求bi是二次函数的对称轴,如果bi不满足递增要求,比如bi-1>bi,所以如果不改变bi-1,bi至少要增原创 2015-03-21 10:55:04 · 721 阅读 · 0 评论 -
HDU 1520 Anniversary party(树形DP-最大独立集)
大意:很多领导,能形成一个树形关系网,这些领导参加一个party,每个人都有一个能使party活跃的值,但是每个人又不喜欢跟自己的直接领导同时参加party。为使party气氛最好,求最好气氛值。思路:法一:对子树的根按两种决策找到状态方程,然后用刷表法法二:细化状态,dp[i][0],dp[i][1] 分别表示不选i时的最大集和选了i时的最大集法二的方法更实用,状态细化后更便于找原创 2015-03-29 09:01:28 · 933 阅读 · 0 评论 -
HDU 2669 Romantic(扩展欧几里德)
题意:Now tell you two nonnegative integer a and b. Find the nonnegative integer X and integer Y to satisfy X*a + Y*b = 1.而且要满足X是通解中最小的。注意X可以取0就可以了//31MS 1808K 761 B G++#include#include#include原创 2015-04-01 23:02:12 · 526 阅读 · 0 评论 -
HDU 5015 233 Matrix (构造矩阵)
题意:给出矩阵的第0行(233,2333,23333,...)和第0列a1,a2,...an(n数据范围:n,m(n ≤ 10,m ≤ 109). 思路:因为m ≤ 109显然是要找到列与列的递推关系,用logn幂加速。从递推式可以得知:a[i][j]可以由a[1...i][j-1] 递推得到,所以构造递推矩阵实现a[1...1][j-1]向a[1...1][j]的转移‘即可#原创 2015-04-10 09:59:23 · 553 阅读 · 0 评论 -
HDU 4565 So Easy!(构造共轭式+矩阵)(好题)
题意:已给a,b是正数, 015, (a-1)22, 0 31.求:那是向上取整符号思路:注意到(a-1)22而且(a+sqrt(b))^n与其共轭式的和显然为整数,又注意到它的共轭式(a-sqrt(b))^n小于1(由于a,b大小关系)所以即求Sn=(a+sqrt(b))^n + (a-sqrt(b))^n再变形(易变形)递推Sn=2*aSn-1原创 2015-04-10 16:02:13 · 680 阅读 · 0 评论 -
HDU 4990 Reading comprehension (矩阵快速幂)
题意:给一个数列a[i]=2a[i-1](如果i是偶数) a[i]=2a[i-1]+1(如果i是奇数);求a[n]%m (1思路:明显用矩阵快速幂,可以推出通项:a[n]=2*a[n-2]+a[n-1]+1当然并不需要动脑...直接当成偶数处理就好,是奇数的话单独再递推一项就好。也就是a[i]=4a[i-2]+2//4990 0MS 1620K 1196 B C++ #include原创 2015-04-10 10:07:36 · 903 阅读 · 0 评论 -
HDU 4965 Fast Matrix Calculation(利用矩阵运算性质)
题意:给出n*k的矩阵A和k*n的B,求(AB)^(n*n)结果矩阵中各元素模6 之和。(n思路:A*B的矩阵是n*n(1000*1000)的矩阵,再快速幂肯定超时,用乘法结合律A^(N*N) * B^(N*N) = A*B*A*B*A*B*A··· = A*(B*A)*(B*A)···,以B*A的6*6的矩阵再快速幂即可//62MS 1716K 1968 B C++ #inclu原创 2015-04-10 11:10:32 · 760 阅读 · 0 评论 -
HDU 5593 ZYB's Tree(树形DP 好题(java))
大致题意:有n = 500000节点的树, 对于每个节点求距离此节点不超过K (K 思路:题意中的边是通过 “For reading:we have two numbers A and B,let fai be the father of node i,fa1=0,fai=(A∗i+B)%(i−1)+1 for i∈[2,N] .” 这样构造出来的,这只是便于快速读入而已,原创 2015-12-05 23:57:40 · 821 阅读 · 0 评论