
2011暑假多校联合
文章平均质量分 77
百里屠猪
I'm an ACMer!
展开
-
多校(HDU 7月12日 1009 Equivalent Sets 强连通分支 )
Equivalent SetsTime Limit: 12000/4000 MS (Java/Others) Memory Limit: 104857/104857 K (Java/Others)Total Submission(s): 550 Accepted Su原创 2011-07-14 09:38:06 · 906 阅读 · 3 评论 -
多校第九场HDU 3926 hand in hand (一种特殊图的同构问题)
题里给出了没点的度都小于等于2这个条件,既图只能是环和链组成的图,其中点包括在链里,这样只需遍历下各个连通分量,记录他们是否是环还是链,以及点的个数,之后在排序对比下即可。#include #include using namespace std;const int in原创 2011-08-11 00:01:04 · 752 阅读 · 0 评论 -
多校第十场HRBEU&&HDU 3931Cross the Fire(最小权点割+拆点+BT构图思想)
题意:一个hero要超越雷区,hero有一定的血,触雷要掉一定血,雷是已知半径和杀伤力的,求hero能否活着穿过雷区,且耗费最少的血;题解:我们将所有的圆映射成无向图上的点,并且把任意两个相交的圆(包括相切和包含)之间连上一条无向边;将上边界当成逻辑源点,下边界当成逻辑汇点,原创 2011-08-12 23:10:57 · 1061 阅读 · 0 评论 -
多校第十场HRBEU &&hdu 3932 Groundhog Build Home(模拟退火算法)
WA了一下午,根据题目性质感觉不应该出现极值点,但是跑了遍数据,发现还是有因为误跑到极值点挂掉的数据模拟退火算法(Simulated Annealing,SA)最早由Kirkpatrick等应用于组合优化领域,它是基于Mente-Carlo迭代求解策略的一种随机寻优算法,其出原创 2011-08-11 23:59:44 · 1147 阅读 · 3 评论 -
多校第十场 HDU 3936 FIB Query(fibonacci 数列的性质 ,及Ologn 矩阵加速乘算法)
Fibonacci数列通项公式∴F(n)=(1/√5)*{[(1+√5)/2]^(n+1) - [(1-√5)/2]^(n+1)}性质: 1.f(0)+f(1)+f(2)+…+f(n)=f(n+2)-1。 2.f(1)+f(3)+f(5)+…+f(2n-1)原创 2011-08-14 17:21:28 · 1632 阅读 · 0 评论 -
多校第十场HDU 3933 Dark Parth(二维DP)
和之前一场的一个二维DP很类似的DP,但是这题数据比较弱,很容易水过。。。题目意思是求最多去掉s个长度在la到lb的区间之后得到的最小值转移方程为:dp[i][j]=min{ dp[i-l][j-1](la=1 ,导致WA了2次后来因为ans没初始化正无穷 , 在原创 2011-08-16 21:45:31 · 744 阅读 · 0 评论 -
多校第11场 HDU 3944 DP (lucas定理,大组合数取模)
题意是沿着杨辉三角的顶点(0,0)处走,走到(n,k)处,只能由(i,j)->(i+1,j) 或 (i,j)->(i+1,j+1) 计算路径上的所有数的总和,找一条权值最小的路;权值最小的路必然是先沿着左边的1或右边的1走n-k,可以把k>n/2的情况转化为n-k,因为从2原创 2011-08-17 17:03:40 · 1025 阅读 · 0 评论 -
阿里巴巴公开赛 HDU 3959 Board Game Dice(数学)
题意有点绕,想了很久 , 还是求教金思密达才明白了题意 , 才出的这个题。题目就是要找一个比N大的M^x,得到M^x*x/N的最简分数 , 根据样例,分子是1时不用处理,直接除去gcd就好没估出范围,还是改成long long交的 , 后来试一下 int WA了。#i原创 2011-08-18 17:57:46 · 1345 阅读 · 3 评论 -
多校第6场 HDU 3893&&JLU Drawing Pictures(数位DP变形,矩阵连乘)
题目的要求是用1-6六种颜色排成一列 而且必须对称。相邻不同色。不出现123456 可以肯定的是n偶数的时候必然无解, 因为最中心两个无法满足相邻不同色的要求 对于n奇数的情况因为是对称考虑前n/2+1的部分 这部分必然满足相邻不同色,不出现123456原创 2011-08-19 20:47:55 · 845 阅读 · 0 评论 -
阿里巴巴公开赛 Fruit Ninja(找平面内共线最多的多边形个数)
假设有一种情况共线最多,那么一定可以通过平移和转动那条直线,使直线通过其中的至少2个多变形的顶点,而不改变是否穿过多边形的性质,所以只需枚举这样的多边形就可以了。n为1 和2的时候直接输出n就好了,一开始看错了n的范围,没考虑1的情况,WA了好多次。#include转载 2011-08-20 10:16:08 · 579 阅读 · 0 评论 -
HDU 3555 Bomb (数位DP)
判断(0,n]之间含49的数的个数具体做法是数位DP , 用3个DP数组分别记录第i位dp0[i];//不含49的数的个数dp1[i];//不含49,但第一位是9的个数dp2[i];//含49个数则由状态转移方程 dp0[i+1]=dp0[i原创 2011-08-19 21:05:13 · 566 阅读 · 0 评论 -
多校第12场 FZU H Monster (简单贪心)
类似排队打水问题;定义每个怪物的性价比bi=怪物的攻击力/v11对怪物的击打次数。对bi进行一次sort 从大到小,一次加和即可。可以证明先消灭性价比小的 后消灭大的 会使损失值增大,对性价比相同的怎么处理都不影响结果。代码:要用longlong 。原创 2011-08-25 19:06:14 · 644 阅读 · 0 评论 -
多校第12场FZU Assign the task(暴力DFS)
敲这到题的时候,突然发现自己连数组模拟临界表都不会了 , 罪过,罪过。。。#include #include int n,m;const int maxn=200050;int head[maxn],cnt;struct Edge{ i原创 2011-08-25 19:24:45 · 608 阅读 · 0 评论 -
多校联合第七场1003Swordsman(判断简单多边形是否是轴对称图形)
简单多边形是边不相交的多边形,又称佐敦多边形,因为佐敦曲线定理可以用来证明这样的多边形能将平面分成两个区域,即区内和区外。这题看到的时候顿时蛋疼了,我在FJNU的比赛和长沙的华南赛都遇到过类似的题目,FJNU的比赛各边是和x,y轴都是平行的,只需枚举4个方向的对称轴,长沙和这题很相似,要枚举所有对称轴,数据比较小,这题数据比较大,20000 ,枚举对称轴是o(n),判断是否是对称轴又是o(n)原创 2011-08-03 15:49:31 · 688 阅读 · 0 评论 -
多校第十场 HDU 3938 Portal(离线的并查集)
题意:定义T是2点间某条路径上的最大边权,要找出某两点间所有路径上的T的最小值,给定一个L问,满足小于等于L的min{T}的个数 题出的挺坑爹的,读半天没读懂啥意思。达哥说是离线的并查集,大概就是用并查集来维护图,根据边权从小到大不断往图中加边,新加的边一定满足是2点间的某路径的最大值,若2点本身不在同一连通分量上,则这条边就是所求的minT,满足它的个数就是2个连通分量的定点个数的乘积。原创 2011-08-15 11:14:47 · 757 阅读 · 0 评论 -
多校第16场 HDU3996 Gold Mine (最大权闭合图)
被数据范围坑了。。。构图方法这里讲的很详细http://apps.hi.baidu.com/share/detail/18295127和之前的一道题类似,用总的正值和减去最小割, #include #include using namespace std;typedef long long ll;const int N=3550;const int M=900原创 2011-09-01 20:55:33 · 1287 阅读 · 0 评论 -
多校第九场Math Geek(构造反幻方+找规律)
看到敏感的GEEK字样,果断先读了这题,然后演算纸上各种划拉。。。题意:构造反幻方(貌似就是和幻方相反的意思)。实际就是个简单的找规律,我的构造方法:当大于等于5阶时,按左到右,上到下顺序放入1到N*N对幻方的阶数分奇偶讨论下奇数:行和,列和,对角和都是相应中间数原创 2011-08-09 21:53:55 · 1284 阅读 · 0 评论 -
多校第9场HDU3923Invoker(polya定理)
给n个颜色,m个点的环,求有多少种通过旋转,翻转变化后不同的染色方法利用polya定理用大数取模,一直WA,改成数组预处理就AC了。。。#include const long long mm=1000000007;int I=0;long long bigm原创 2011-08-09 17:20:30 · 1072 阅读 · 1 评论 -
最小点路径覆盖(匈牙利算法)
匹配的一些概念:完美匹配、完备匹配、最佳匹配交错轨可增广轨匈牙利算法原理:从当前匹配M出发,检查每个未盖点,然后从它出发寻找可增广路,找到可增广路,沿着增广路扩充,直到找不到这样的路停止。 JOJ 2730 题意:http://blog.csdn.ne原创 2011-09-06 16:32:06 · 1142 阅读 · 0 评论 -
多校联合第五场北京正常大学BNU 1002 Lucky Numbers(找规律or容斥原理?)
if(a>b){a=a^b;b=a^b;a=a^b;} if(a==1 && b==1){printf("%d\n",m);continue;} for (ans=0 ; m ; m=-m/b, ans-=m);原创 2011-07-26 18:44:02 · 913 阅读 · 0 评论 -
多校BIT 1001Inverting Cups (模线性方程的应用或找规律)
本题可以通过求解模线性方程来解决。题目的最终任务是将所有杯子翻转,所以每个杯子被翻转次数一定是奇数次。我们不妨设第i个杯子被翻转次数为 2*ki+1,翻转总次数为n,则依题意可以列出如下方程 Sum(2*ki+1) = B*n,整理可得 2*Sum(ki) +原创 2011-07-28 20:33:24 · 654 阅读 · 1 评论 -
多校1009 (DFS+树状数组)
暴力N^2 各种TLE#include #include const int maxn=100010;struct node{ int v; node *next; node (int a ,node * p):v(a),next(p){};};node * L原创 2011-07-27 16:00:28 · 524 阅读 · 0 评论 -
多校北邮现场赛(bupt 196 cc on the tree 搜索叶结点间的最短路 DFS)
本题我用的算法就是DFS 任举一个非叶结点为根,这里我用的是序号最小的非叶结点,然后从根向各结点扩展搜索,到叶停止返回一个0和INF,每个结点返回最小和次小路径的值,因为2叶间最小路径必是某一结点到2叶的最小和次小值相加,当然结点数为2的要特殊处理下原创 2011-07-18 22:40:58 · 1156 阅读 · 0 评论 -
多校JLU 10题JLUCPC(树形DP)
树状DP因为树是连通的且为无向边,所以可以假定1为根,从结点1开始向各个子树DFS这次DFS过程中要对每个结点记录几个量node[i]记录以i为根的子树(包括i结点)的T[k] 和sum[i]记录以i为根的子树(包括i结点)中,每个结点到根的路径长度*T[k]的和原创 2011-07-29 19:30:51 · 868 阅读 · 1 评论 -
多校HDU 3917 Road constructions(最大权闭合图)
题意复杂,而且感觉很不严谨,大概的意思就是给几个公司,告诉每个公司你税收,这个公司要修得路(如果选择了某个公司,则必须要全修,如果有associated关系,要连锁选择)及花费,求政府的最大收益(所选的公司的收税减其花费)。解法为求最小割,构图方法以公司为点,如果公司之间有关原创 2011-08-08 17:47:19 · 1056 阅读 · 0 评论 -
多校15场Harry Potter and the Hide Story(合数分解)
出题者愿意可能是要用随机算法,不过还是被朴素的素数表给水掉了。。。题意:给出n,k(n是ll范围 , k是10^14)求最大的x使k^x整除n!当k不等于1时,先将k分解成素数乘积形式,记录指数,找出n!中相对的素数的指数与k分解后指数之比的最小值即可 #incl原创 2011-08-30 19:27:28 · 744 阅读 · 2 评论 -
多效第16场 HDU 3999 The order of a Tree(二叉树)
没学过二叉树的先序遍历#include #include const int maxn=100050;struct Node{ int l,r,w;}node[maxn];int m; int cnt;void insert (i原创 2011-09-01 21:09:27 · 898 阅读 · 2 评论 -
HDU 3879 Base Station (最小割的应用)
一个图 给n个点m条边,每个点和边有相应的权值,若花费了2点的权值就可以得到2点间的边的权值,问可能得到的最大获利。建 立 一 个 二 部 图 , 左 边 是 基 站 右 边 是 边 , 源 流 向 所 有 的 点 , 边 权 为 建 立 该 基 站 的 花 费 ;原 图原创 2011-09-02 20:54:22 · 770 阅读 · 0 评论 -
多校第七场ECNU 1006 HDU 3905 Sleeping (二维DP)
n个数,需要至少减掉m个数(不要求连续)。求剩余连续的长度大于等于l的数串中的和的最大值dp[i][j] 表示扫描第i个数已经已经去掉j个数,能获得最大值。首先,第i数可以去掉,那么dp[i][j] = dp[i - 1][j - 1];也可以不去掉,对于每个k( 0原创 2011-08-03 20:45:00 · 607 阅读 · 0 评论 -
多校第七场ECNU 1009Triple(图论?数学?)
这是一道图论题。。。题目可转化为给处的n个数为n个点,任意不同2点互质就蓝边,不互质就连红边,其目的是找出3边颜色相同的三角形的个数,可以用总数减去含2种颜色的三角形的个数,其中是含1蓝2红和1红2蓝的两种情况,只要分别对每个点搜索下记录红或蓝边的个数即可;#include原创 2011-08-02 19:07:52 · 521 阅读 · 0 评论 -
HDU 4001 To Miss Our Children Time (DAG上的DP,最长路)
有三种砖 , 要摞成一个Skyscraper ,给出长宽高类似矩形嵌套的部分序关系,根据这个关系给建立DAG图,不过这样要注意一下当砖的类型是0的时候有可能出现环的情况用并查集维护下就好#include #include #define max(a,b) (a>b?原创 2011-09-03 22:24:41 · 1611 阅读 · 2 评论 -
HDU 4002 Find the maximum(欧拉函数)
题意:给出N , 求满足2可知 fn=(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,在N的范围内时,满足fn的项数越多,且p的值越小时,fn越小,且2个条件是可以同时成立的,既p1到pn是从2原创 2011-09-03 23:05:43 · 746 阅读 · 0 评论 -
多校第16场 HDU 3998 Sequence(最多不相交路径)
披着DP外衣的网络流桂哥哥写的没有拆点的算法居然AC了,结果我给他出了一个数据,结果就挂了,说明这题的数据给的太水了。。。找到最长上升子序列,在所有的最长上升子序列中找到一种元素标号互不相同的情况,使序列个数做多构图方法:将所有点拆点,保证其唯一性(在所有序列中只原创 2011-09-02 19:51:59 · 1177 阅读 · 0 评论 -
多校15场WHU Harry Potter and the Forbidden Forest(求网络的最小割的最小边数)
哈利波特想阻止在0点得食尸鬼到达n-1点,于是要破坏几条路,每条路消耗一定魔法,他想知道在耗费最少魔法的情况下,破坏的路最少。(错误思路)比赛时想用费用流来解,对于原边每条边的cost赋值为1,流过之后最小的费用就是最小割得割数,但是运行之后发现结果不然,原因是费用是对于当前原创 2011-08-31 20:11:47 · 854 阅读 · 0 评论 -
2011多校 dijkstra最短路变形
hdu Problem 3873 Invade the Mars对算法的理解还是不到位, 导致卡了一天!而且有个小地方, 就是dist是inf时, des有值的时候,时间不能取成des, 这个错误找了好久。。优先队列入队的时候并不是最优的解, 出队时满足dist【cur.u】>=cur.w才是最优解, 因此更新被限制节点时是要在出队时更新。#include #incl原创 2012-09-13 14:54:34 · 580 阅读 · 0 评论