
ACM/ICPC_UVAOJ
just_sort
Acdream.
展开
-
UVA 10288 Coupons
【解题方法】假设当前已经有k种不同的Coupons,那么获得新的Coupons的概率是(n-k)/n,所以需要步数的期望是n/(n-k)。求和可得到答案为nsigma(1/i)!题目要求用分数表示,那么加个分数类重载就OK了!【代码君】#include #include #include #include #include using namespace std;long原创 2016-12-02 18:05:28 · 415 阅读 · 0 评论 -
UVA 1048 Low Cost Air Travel
题目链接:https://vjudge.net/problem/UVA-1048题意:给定一些联票,在给定一些行程,要求这些行程的最小代价解法:#include using namespace std;const int Max_City = 200;const int Max_Ticket = 20;const int Max_TicketLength = 10;原创 2017-11-30 20:21:41 · 521 阅读 · 0 评论 -
UVALive - 4452 The Ministers' Major Mess TwoSaT
题目链接:~题意:有n个人对m个方案投票,每个人最多只能对其中的4个方案投票(其他的相当于弃权),每一票要么支持要么反对。问是否存在一个最终决定,使得每个投票人都有超过一半的建议被采纳,在所有可能的最终决定中,哪些方案的态度是确定的。解法:注意到一个人最多投四个,我们分情况讨论一下: 1.投2.投3~4个:同上,最多不采纳一个。 设xi表示最后是否通过方案i, 第一原创 2017-11-19 17:47:30 · 345 阅读 · 0 评论 -
UVALive-4793 Robots on Ice 搜索加剪枝
题意:#include using namespace std;const int maxn = 11;int dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}};int n, m, t;int x[5], y[5], c[5];//第i个检查点的坐标为(x[i],y[i]),访问时间为c[i]int mp[maxn][maxn];//存储网原创 2017-11-17 17:04:56 · 566 阅读 · 0 评论 -
UVALive3713-Astronauts 2-SAT
题目链接:https://vjudge.net/problem/UVALive-3713题意:有A、B、C 3个任务分配给n个宇航员,其中每个宇航员恰好分配一个任务。假设n个宇航员的平均年龄为x,只有年龄大于x的才能领取A任务;只有年龄严格小于x的才能领取B任务,而任务C没有限制。有m对宇航员相互讨厌,因此不能分配同一任务。求出是否能找出符合的任务方案。解法:用xi表示第i个宇航员的分配方案。年龄大原创 2017-05-10 09:59:07 · 437 阅读 · 0 评论 -
UVALive 3211 Now or later 二分+Twosat
题目链接:https://vjudge.net/problem/UVALive-3211题意:每架飞机有早晚起降两种方式,给定n架飞机两种方式的起落时间,为每架飞机安排起落时间(早或晚),使得所有飞机起降时间按照早到晚的顺序之间的间隔时间最小值尽量大。解法:最小时间尽量大应该采用二分的方法比较好,然后就变成了判别某个时间间隔m是不是符合要求的了。为没加飞机设立一个变量xi,0表示早,1表示晚,然后每原创 2017-05-09 17:38:50 · 397 阅读 · 0 评论 -
UVALIVE 4287 Proving Equivalences Tarjan求强连通分量
题目链接:https://vjudge.net/problem/UVALive-4287题意:有n个命题,已知其中的m个推导,要证明n个命题全部等价(等价具有传递性),最少还需要做出几次推导解法:由已知的推导可以建一张无向图,则问题变成了最少需要增加几条边能使图变成强连通图。找出所有的强连通分量,将每一个连通分量视作一个大节点,则整张图变成了一张DAG。设出度为0的大节点个数为a,入度为0的大节点个原创 2017-05-09 16:58:30 · 380 阅读 · 0 评论 -
UVALive - 5135 Mining Your Own Business 双连通分量
题目链接:https://vjudge.net/problem/19845题意:有N个矿井 ,由一些隧道连接起来,现在要修建尽量少的安全通道,使得无论哪里发生事故,所有人均能逃出,求建的最少的安全通道数量和方案数解法:建安全通道的话,肯定不能建在割顶,因为割顶如果崩塌了,割顶所连接的双连通分量内的点就跑不掉了,还得在双连通分量里面再建点(上述为双连通分量内部只有一个割顶的情况),这样不划算,还不如直原创 2017-05-09 16:14:24 · 463 阅读 · 0 评论 -
UVALIVE 3523 双连通分量+二分图染色
题目链接:https://vjudge.net/problem/18122题意:有n个骑士经常举行圆桌会议,每次圆桌会议至少要有3个骑士参加(且每次参加的骑士数量是奇数个),且所有互相憎恨的骑士不能坐在圆桌旁的相邻位置,问有多少个骑士不可能参加任何一个会议解法:这题最终转化为求解图中结点是在一个奇圈上。首先我们可以把所有的圈找出来,即找到所有的双连通分量,跑一边tarjan算法即可。之后重头戏来了,原创 2017-05-09 15:34:32 · 326 阅读 · 0 评论 -
UVALive - 3490 Generator AC自动机+高斯消元
题目链接:https://vjudge.net/problem/UVALive-3490题意:随机字母组成一个串,有一个目标串,当这个由随机字母组成的串出现目标串就停止,求这个随机字母组成串的期望长度。解法:容易看出,dp[i] = 所有他下一步可能的节点dp[j]之和/m+1。可以想一下从头走到i的递推式,是dp[i] = 所有走到i这个节点的dp[j]+1。然后就可以列出n个方程,dp[最后一个原创 2017-05-02 18:51:09 · 507 阅读 · 0 评论 -
UVALive 6912 Prime Switch 状压DP,贪心
题目链接:这里 题意:你有n盏灯,有m个开关,开关上面都写着一个质数。那么这个开关就控制着上面写着的数字的倍数。灯泡按奇数次就亮着,偶数次,就熄灭。问你最好情况下,最优有多少个灯亮着。 解法:对于小于等于31的素数,我们状压去跑dp,对于大于的,我们就贪心。因为大于31的素数一定是不会冲突的,因为上面的数乘起来就大于1000了。然后这样就行了。//UVALive 6912#include <bi原创 2017-03-16 16:56:15 · 570 阅读 · 0 评论 -
UVALive 6913 I Want That Cake 博弈dp
题目链接:这里 DescriptionThere was an interesting game played on a popular Korean reality TV Show. 12 players in 3 teams — 4 persons in each team — lined up in one row in random order. The game master appr原创 2017-03-16 15:03:27 · 669 阅读 · 0 评论 -
UVALive 4225 Prime Bases 贪心
题目链接:这里 题意:给你一个数,你需要拆成素数因子的形式 比如123 = 1 + 1*2+4*2*3*5 拆成n = a0 + a1* p0 + a2* p0* p1 + a3* p0* p1* p2 + … 的形式 给你一个数,问你怎么拆 解法: 贪心去拆就好了,素数乘积从大到小不断考虑 如果超过就减去就好了 然后不断贪//UVALive 4225#include <bits/st原创 2017-03-21 20:57:16 · 385 阅读 · 0 评论 -
UVALive 6908 Electric Bike dp,BFS
题目链接:这里 题意:给了n段路,每段路长度不同,你有一辆车最多可以提供E的能量,你的车有四个档,最多换k次档 Assist Level 0 1 2 3 Assist Power 0 4 8 11 0档花费能量0,走的路程长度为0,1档花费1能量,走得最大路程为4…. ,每段路用一个档,如果这个档不能使你走完这段路,那么只能自己蹬,如果超过这段路长度,超过部分不计算到下一原创 2017-03-17 14:50:22 · 488 阅读 · 0 评论 -
UVALive 6910 Cutting Tree(并查集)
题目链接:https://vjudge.net/problem/UVALive-6910DescriptionTree in graph theory refers to any connected graph (of nodes and edges) which has no simple cycle, while forest corresponds to a collection of on原创 2017-03-03 13:24:55 · 502 阅读 · 0 评论 -
UVALive 6906 Cluster Analysis 并查集
题目地址:见这里 DescriptionCluster analysis, or also known as clustering, is a task to group a set of objects into one or more groups such that objects belong to a same group are more similar compared to ob原创 2017-03-03 13:08:41 · 489 阅读 · 0 评论 -
UVALive 3270 Simplified GSM Network 二分+Floyd
题目链接:https://vjudge.net/contest/202436#problem/B题意:已知B(1≤B≤50)个信号站和C(1≤C≤50)座城市的坐标,坐标的绝对值不大于1000,每个城市使用最近的信号站。给定R(1≤R≤250)条连接城市线路的描述和Q(1≤Q≤10)个查询,求相应两城市间通信时最少需要转换信号站的次数。解法:#include using na原创 2017-12-03 12:57:52 · 335 阅读 · 0 评论