- 博客(169)
- 收藏
- 关注
原创 POJ 3041 Asteroids HDU 1150 Machine Schedule (最小顶点覆盖)
链接 : POJ 3041 http://poj.org/problem?id=3041链接: HDU 1150 http://acm.hdu.edu.cn/showproblem.php?pid=1150POJ 3041 :建立二分图,X集合为行,Y为列,小行星的位置(x,y)就在二分图里建一条边x->y,要求的是在X Y集合里找到最少的点,使得所有的边都至少连接一个顶点。
2015-08-18 23:48:14
652
原创 HDU 5396 Expression (区间DP)
链接 : http://acm.hdu.edu.cn/showproblem.php?pid=5396设d[i][j] 代表i~j的答案。区间DP枚举(i, j)区间的断点,如果断点处的操作符是‘*’,那么该区间的答案可以直接加上d[i][k] * d[k+1][j],因为乘法分配律可以保证所有的答案都会乘起来。如果是加法,需要加的 就是 左边的答案 乘 右边操作数的阶乘 加上 右边的答案乘
2015-08-18 22:17:28
652
原创 UVALive - 4043 Ants (二分图最大权匹配)
链接 : http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14347大白P351/*--------------------- #headfile--------------------*/#include #include #include #include #include #include
2015-08-16 00:18:46
455
原创 HDU 3488 Tour 最大权匹配
链接 : http://acm.hdu.edu.cn/showproblem.php?pid=3488题意 : 一个图n个点m条有向边,一个人要到所有的点,他可以从一个点出发,走一个环(不可以自环)再回到起点,他可以走多个环但是不可以走之前走过的点(回到起点不算)。问走完所有点的最小的花费是多少。建立二分图X集合和Y集合都是节点,目的是求每个点都只有一个出度和一个入读,且必须有一个出度和一
2015-08-15 18:41:04
584
原创 HDU 2255 奔小康赚大钱 POJ 2195 Going Home 最大权完美匹配 KM算法
两道KM算法模板题 可以作为求最大完美匹配模板一个是求最大权,一个求最小权 ,最小权可以将所有的边权取相反数,求得最大权之后再取反。HDU 2255代码:/*--------------------- #headfile--------------------*/#include #include #include #include #include #include #
2015-08-15 16:25:28
477
转载 二分图带权匹配 KM算法与费用流模型建立
原文链接:点击打开链接[二分图带权匹配与最佳匹配]什么是二分图的带权匹配?二分图的带权匹配就是求出一个匹配集合,使得集合中边的权值之和最大或最小。而二分图的最佳匹配则一定为完备匹配,在此基础上,才要求匹配的边权值之和最大或最小。二分图的带权匹配与最佳匹配不等价,也不互相包含。我们可以使用KM算法实现求二分图的最佳匹配。方法我不再赘述,可以参考tianyi的讲解。KM算法可以
2015-08-15 16:19:25
1082
原创 Uva 11082 Matrix Decompressing (最大流)
链接 : http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36866可以建一个类似二分图,X集合是所有行,Y集合是所有列,X->Y的容量为(1到20)。建立源点连接每个X中的点,容量为该行的和。建立汇点连接Y中的点,容量为该行的列。目的是求从源点出发的流量就是容量,且必须走完所有流量并到达汇点,汇点的流量必须是源点发出的流
2015-08-15 00:06:24
955
1
原创 ZOJ1157, POJ1087,UVA 753 A Plug for UNIX (最大流)
链接 : http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26746题目意思有点儿难描述 用一个别人描述好的。我的建图方法:一个源点一个汇点,和所有种类的插座。输入的n个插座直接与源点相连,容量为1,m个物品输入里 记录每个插座对应的物品个数,物品数然后大于0的插座直接连到汇点,意味着最终的物品
2015-08-12 20:46:29
778
原创 POJ 1149 PIGS (最大流)
连接:http://poj.org/problem?id=1149第一道网络流,求最大流部分基本都是模板,主要的难点在于如何构图。每个顾客、一个源点和一个汇点构成一个图,每个猪圈的第一个打开它的顾客 直接与源点相连 容量为该猪圈的猪的个数。不是首次打开猪圈的话,顾客j紧跟着顾客i之后打开某个猪圈,那么农场主可以根据j的需求来调整这个猪圈的流动路径。每个顾客到汇点相连容量为该顾客的需求,最终
2015-08-12 14:27:01
533
原创 POJ 1511 SPFA 模板
/*--------------------- #headfile--------------------*/#include #include #include #include #include #include #include #include #include #include #include #include #include /*------------
2015-08-06 21:30:12
398
原创 HDU 4497 GCD and LCM (分解质因数)
链接 :http://acm.hdu.edu.cn/showproblem.php?pid=4497如果G不是L的约数 就不可能找到三个数。L的所有素因子一定包含G的所有素因子 并且次方数一定大于等于G的。只需要三个数 对于每一个素因子的次方数 三个的最小值是G的,最大值是L的。考虑三个对应的次方数都不一样,那么其中两个是确定的 一个是G的一个是L的 剩下的一个在G和L的之间。
2015-06-03 14:14:05
603
原创 ZOJ 3420 Double Maze (BFS)
链接 :http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3420普通的BFS 两个图的状态表示成一个状态。记录答案直接用string保存操作。#include #include #include #include #include #include #include #include
2015-05-27 21:44:27
911
原创 Codeforces Round #305 (Div. 2) C. Mike and Frog
链接 :http://codeforces.com/contest/548/problem/C首先分别找出两个序列的循环节 和 循环节的起始位置,如果找到了循环节 终点却没有出现,那么进入循环节终点再也不能出现了。如果在循环节内 我的做法就是算m次之后的每个值,在循环节之前就只有一个值。#include #include #include #include
2015-05-27 15:54:36
589
原创 CSU1628-1638(留坑待补)
链接 :http://acm.hust.edu.cn/vjudge/contest/view.action?cid=79419#overview
2015-05-25 15:50:08
513
原创 UVA - 11838 Come and Go && UVA - 11770 Lighting Away (强连通分量)
链接 :http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27318链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=2087411838 :求一张图可否任意两点可达 。直接判断整个图是否强连通。#pragma c
2015-05-25 02:18:41
1338
原创 UVA - 11709 Trust groups (强连通分量)
链接 :http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28292求强连通分量的个数。#pragma comment(linker, "/STACK:10240000,10240000")#include #include #include #include #include #
2015-05-25 01:39:18
1311
原创 UVA - 11504 Dominos 强连通分量
链接 : http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20841题意 :多米诺骨牌 如果有边存在u -> v 说明u倒了v也自动倒了。问最少需要手动推到几个。如果一些牌属于同一个强连通分量 那么任意推倒其中之一就算全部推倒。可以强连通缩点之后 推倒的一定是没有入度的牌。#pragma com
2015-05-25 01:04:13
1521
原创 UVA - 10765 Doves and bombs (双联通分量)
链接 :http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34798给N个点的无向图并且联通,问删除每次一个点之后还剩多少联通分量。找割顶 如果删除的是割顶 联通分量就会增加,否则还是1(因为原图是联通图),删除割顶之后 联通块的数目 就要看该割顶在几个双联通分量里出现过。#pragma comm
2015-05-24 23:41:17
820
原创 BC #42 (1-3题)
链接 :http://acm.hdu.edu.cn/search.php?field=problem&key=BestCoder+Round+%2342&source=1&searchmode=source第一题 : 水题。#include #include #include #include #include #include #include #include
2015-05-23 22:52:30
624
原创 UVA - 459 (并查集)
链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=22649题意就是求有多少联通的块。(一开始自己脑补成双联通 然后死也过不了样例。这道题目的读入也是挺恶心的。#pragma comment(linker, "/STACK:10240000,10240000")#include
2015-05-22 23:40:42
848
原创 UVA - 11902 (有向图的关节点)
链接 :http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18888题意 : 一个有向图,如果从0点出发到达某一点必须经过某些点 题目就是求出这些点。点数不多 可以删点然后dfs搜索,之前能搜到的点 但是删了该点之后搜不到了 那么这个删点就是从起始点搜不到的必经之路。#include #
2015-05-22 23:37:14
960
原创 UVA - 315 Network 和 UVA - 10199 (求割顶)
链接 :http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20837http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=21278求割顶的裸题。UVA - 315#include #include #include #i
2015-05-22 23:32:03
691
原创 POJ 2186 Popular Cows (强联通分量)
链接 :http://poj.org/problem?id=2186一个联通分量里的所有的牛满足任何一个被其他牛认为是红人。强联通缩点之后 只需要找到一个且只有一个联通分量且它的出度为0 答案就是这个强联通分量点的个数。#include #include #include #include #include #include #include #include
2015-05-21 13:40:11
560
原创 UVALive - 4287 Proving Equivalences (强连通分量)
链接 : http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=10294题意 : 告诉你n个等价的命题 和m个关系 比如 (u,v)代表u可以推导出v, 问至少需要补充多少条边。用强连通缩点成一张DAG。#include #include #include #include #includ
2015-05-19 16:15:49
523
原创 UVA 11324 The Largest Clique (强连通缩点 + DAG最长路)
链接 : http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=30726题意 : 有向图G,求一个最大的点集,使得点集中任意两个节点u和v,满足 要么u可以到达v,要么v可以到达u,或者u和v可以相互到达。可以强连通缩点成一张DAG,以为每个强连通分量要么选要么不选。求DAG上的最长路 二次建图 用了2种不同的
2015-05-19 16:05:19
500
原创 CSU 1620: A Cure for the Common Code (区间DP KMP预处理)
链接 : http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1620题意 : 给一个字符串 问怎么压缩字符串使得最终个数最小 具体怎么压缩请参照图示 很好明白。题目就是需要找到 对于每个后缀 看成一个新字符串 找出它的前缀的最小循环节。过程和大白书 P213页 是一样的,只需要对每个后缀跑一遍KMP求出周期。剩下的
2015-05-18 00:19:14
1007
原创 CSU 1082: 憧憬一下集训 (线段树 扫描线)
连接 :http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1082题目可以将每个人的两种适应度转化为一个在坐标系里的矩形。假设音量为x轴,空调为y轴。那么题目要求的可以转化为 在所有的矩形里选择一个点 这个点可以覆盖最多的矩形。题目可以进一步转化 需要用到扫描线,只考虑每个矩形的上边和下边,每个边都构成一个扫描线(沿着y轴方向
2015-05-15 16:21:58
691
原创 HDU 1285 确定比赛名次 (拓扑排序)
链接 :http://acm.hdu.edu.cn/showproblem.php?pid=1285拓扑排序模板 。#include #include #include #include #include #include #include #include #include #include #include #include #def
2015-05-14 00:00:43
672
原创 HDU 1811 Rank of Tetris (并查集预处理 + 拓扑排序)
链接 :http://acm.hdu.edu.cn/showproblem.php?pid=1811题目为中文。可以考虑把rating相同的人放到一个集合里 集合里的人可以认为按照编号排序的,可以使用并查集。预处理了之后可以考虑在同一个集合里不会出现两个不同的rating 出现即为矛盾 否则可以 以两个集合的根节点建边。图建好了之后可以保证每个点里面的人的rating相
2015-05-13 23:26:13
572
原创 CSU 1612: Destroy Tunnels 强连通分量 Kosaraju算法
链接 :http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1612题意: 给一个矩阵A 大小N*N, B = A^1 + A^2 + A^3 + .... A^n , B中是否存在非0项。题目可以转化为 N个点 编号为1-n, 对于任意点v,经过一些任意的步长到达u (u为所有点集的任意一个)。离散数学里有图的矩阵相关知识
2015-05-12 00:24:44
707
原创 ZOJ 3593 One Person Game (扩展欧几里得)
There is an interesting and simple one person game. Suppose there is a number axis under your feet. You are at pointA at first and your aim is point B. There are 6 kinds of operations you can perfor
2015-05-06 01:52:07
609
原创 ZOJ 3868 GCD Expectation 和 BC39 HDU 5212 Code
这两道题目的类型感觉是一样的 都是利用了容斥的思想 从后往前推然后去重。HDU 5212 题意 :给n个数 求出每个数与这n个数分别F(i)的和, F(i) = gcd(a[i], a[j]) * (gcd(a[i], a[j]) - 1).可以这样考虑 ai与aj互质的时候F()的值是等于0 没必要计算。只要计算以i为gcd的所有的数对的个数 就好了 (1#include
2015-04-27 20:04:58
612
原创 ZOJ3623 Battle Ships (完全背包)
Battle ShipsTime Limit: 2 Seconds Memory Limit: 65536 KB Battle Ships is a new game which is similar to Star Craft. In this game, the enemy builds a defense tower, which hasL longevit
2015-04-08 21:05:46
515
原创 Flipping Parentheses (线段树 单点更新 区间查询)
题目链接 : 点击打开链接题目大意 : 给一个括号已经匹配好的序列,每次反转一个括号, 然后让你再次反转一个括号再次使得括号匹配,并且你反转的位置尽可能的靠近左端。可以对于每个位置,记录它之前的左括号的数量减去右括号的数量,这个序列合法的条件就是每个位置不会出现值小于0的情况。最后一位一定是0.如果他反转的是右括号,这个位置变成左括号之后 你需要找到一个左括号把它反成右括号
2015-03-26 17:14:11
731
原创 Space Golf (二分答案)
传送门 : 点击打开链接题目超长,基本都是废话, 大概意思就是两点间有几根棒子,可以从左边发射东西,东西落地可以反弹 问恰好落在右端点且不碰到任意一根柱子 最小的速度是多少 中间弹起的次数不能超过b次。由于b很小,可以直接枚举所有的弹起次数,然后对每一次进行二分答案。后续就是解方程问题了。#include #include #include #include #includ
2015-03-23 20:39:35
861
原创 完美串 (DP)
传送门中文题。可以想到当只有一个字符那么最少要添加1个,两个连续不相等的字符不需要添加。可以设dp[i][j]代表从i到j最少需要添加几个。分为两种情况:当 s[i] == s[j] 的时候,那么一定需要添加一个,可以在i的左边 也可以在j的右边,如果在i的左边加 那就是dp[i][j-1] + 1,添加的那个字符就是和s[j]相反的。如果在j的右边加 那就是dp[i+1][j
2015-03-21 15:45:19
916
原创 求出所有的正整数对 使他们最大公约数为n,最小公倍数为m
题目大概是这样的:点击打开链接大意就是 求出所有的正整数对 使他们最大公约数为n,最小公倍数为m。(1 可以将问题转化为 : 设a,b就是那个整数对,n, a, b, m, 这4个数都是可以被n整除的,可以都除以n, 题目转化为求出 最大公约数为1, 最小公倍数为m/n的对数 。也就是求出在1到m/n里 乘积为m/n且互质的对数。可以在O(sqrt (m/n) )内解决。
2015-03-18 20:35:14
900
原创 取整求和 (codeforce )
B. Sumtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWrite a program to compute the following sum S given a positiv
2015-03-16 00:24:06
1633
原创 快速乘法
今天做了BC第三十三场,http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=571 B题是一道快速幂的题目 比赛时没有细想 直接上了 结果被hack了,才发现取摸的数是小于10^18,中间的结果可能会爆long long,于是学习了新姿势 —— 快速乘法。其实这东西和快速幂简直一样 好处就是中间过程可以取摸了。a*b相当于
2015-03-14 22:54:53
2425
原创 2014北京站小记
第一次参加区域赛,心情略紧张。一夜睡到北京之后,下了火车就上了地铁,因坐反了方向索性去圆明园玩了一圈。。太任性了!从圆明园出来之后去清华逛了逛,Orz一下。然后找到旅馆住下之后 就去 北京师范大学 了。 北师的志愿者99%都是女生?(好幸福啊,理工大学无比羡慕。下午开幕式听领导扯了一通之后就开始热身赛了。 我先看的B,跟队友讲了一下,他说可以做,立马让机子,开始看A,尼玛A就是个数数的
2014-11-19 20:30:31
676
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人