ACM/ICPC题解
文章平均质量分 80
ACM/ICPC相关题解,现已退役。
你有多高
这个作者很懒,什么都没留下…
展开
-
2018年ACM俱乐部个人训练赛第十六场 问题 E: 线段
问题 E: 线段时间限制: 2 Sec 内存限制: 128 MB题目描述数轴上有 n 条线段,第 i 条线段的左端点是 a[i],右端点是 b[i]。 Bob 发现 1~2n 共 2n 个整数点,每个点都是某条线段的端点。 这些线段有如下两类特点:1 x y,表示第 x 条线段和第 y 条线段相交(相交在这里指至少有一个公共点)2 x y,表示第 x 条线段在第 y 条线段的左边,且它们不相交。...原创 2018-03-06 17:08:47 · 569 阅读 · 0 评论 -
问题 J: Juggling Troupe
问题 J: Juggling Troupe时间限制: 3 Sec 内存限制: 128 MB题目描述At the national centre for computing and advanced circus skills, technical demonstrations by students are strongly encouraged.A troupe of n novice per...原创 2018-04-16 17:47:09 · 585 阅读 · 0 评论 -
蓝桥杯 幸运数
幸运数问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成首先从1开始写出自然数1,2,3,4,5,6,....1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 ....把它们缩紧,重新记序,为:1原创 2017-05-13 10:15:11 · 685 阅读 · 0 评论 -
蓝桥杯 格子中输出
格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include #include void StringInGrid(int width, int heig原创 2017-05-13 10:51:43 · 418 阅读 · 0 评论 -
CodeForces 787A A. The Monster(扩展欧几里得)
A. The Monstertime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputA monster is chasing after Rick and Morty on原创 2017-05-31 20:31:06 · 918 阅读 · 0 评论 -
uva 1639 Candy | ACM\ICPC Chengdu 2012 (期望)
题目大意:有两盒糖果各有n个糖果 每天随机选取一个盒子吃掉里面的一个糖果 直到某一天打开其中一个盒子发现盒子是空的求此时另外一盒盒子里糖果的个数的期望分析:最后打开的这个盒子有两种情况要么是盒子1要么是盒子2 所以最后答案应该为两个盒子的期望之和当盒子1为空时 我们只需要枚举盒子2的糖果剩余数量 1~n原创 2017-10-04 16:06:29 · 400 阅读 · 0 评论 -
hihoCoder 1430 A Boring Problem(数论)
https://hihocoder.com/problemset/problem/1430?sid=1202564分析:原创 2017-10-02 19:02:29 · 513 阅读 · 0 评论 -
Travel along the Line(组合数学)
Travel along the LineTime Limit: 1 Second Memory Limit: 65536 KBBaoBao is traveling along a line with infinite length.At the beginning of his trip, he is standing at position 0. At the beginning ...原创 2018-03-11 09:59:12 · 913 阅读 · 0 评论 -
HDU 5974 A Simple Math Problem(2016ACM/ICPC亚洲区大连站-重现赛 D题)
http://acm.hdu.edu.cn/showproblem.php?pid=5974一个数学题X+Y=aLCM(X,Y)=b因为 LCM(X,Y)=(X*Y)/GCD(X,Y)所以 X*Y=b*GCD(X,Y)因为GCD(X,Y)=GCD(a,b)所以只要联立方程组X+Y=aX*Y=b*GC原创 2017-05-13 12:36:23 · 506 阅读 · 0 评论 -
POJ 3292 Semi-prime H-numbers
http://poj.org/problem?id=3292题目大意:H-numbers 只能被1和它本身整除 并且%4==1H-semi-primes 由两个H-numbers 相乘得到给一个 H-numbers 求在它之前有多少个 H-semi-primes分析:原创 2017-09-15 18:25:27 · 477 阅读 · 0 评论 -
POJ 3295 Tautology
http://poj.org/problem?id=3295题目大意:数学题 判断表达式是否为永真式 p,q,r,s,t --- 变量K --- 且A --- 或N --- 非C --- 蕴含E --- 等价分析:永真式 即对原创 2017-07-19 08:41:33 · 288 阅读 · 0 评论 -
POJ 1061 青蛙的约会(扩展欧几里得)
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。 我们把这两只青蛙分别叫做青蛙A和青蛙B,并原创 2017-09-13 22:31:45 · 319 阅读 · 0 评论 -
POJ 2996 Help Me with the Game(模拟)
http://poj.org/problem?id=2996题目大意:题目读了一年 国际象棋棋盘黑白相间 白色用 '.' 填充 黑色用 ':' 填充 白色棋子用大写字母表示 黑色棋子用小写字母表示给你棋盘 求出棋子的坐标 (左下角为 a1 ) 棋子按 KQRBNP 顺序输出按列从小到大输出原创 2017-07-19 09:35:31 · 425 阅读 · 0 评论 -
POJ 2993 Emag eht htiw Em Pleh(模拟)
http://poj.org/problem?id=2993题目大意:同 POJ2996 两题正好相反 这个是给你坐标 让你打印棋盘分析:先构造棋盘基本框架 然后向棋盘内添加 点AC代码:#include #include char map[100][100];char str1[50]原创 2017-07-19 09:41:48 · 318 阅读 · 0 评论 -
POJ 1068 Parencodings(模拟)
http://poj.org/problem?id=1068题目大意:给定序列一 求序列二序列一:从前到后 ')' 前有多少个 '(' 序列二:按照序列一的顺序每个 ')' 里有多少个完整的括号(包括本身)分析:按照序列一还原括号 模拟查找每个 ')' 在其对应的 '(' 内有多少个 ')' 即可原创 2017-07-19 08:55:04 · 393 阅读 · 0 评论 -
问题 A: Assignment Algorithm
问题 A: Assignment Algorithm时间限制: 1 Sec 内存限制: 512 MB题目描述A low-budget airline is designing a sophisticated algorithm that will assign more desirable seats to passengers who buy tickets earlier. Their ai...原创 2018-04-16 17:58:39 · 969 阅读 · 0 评论 -
HDU 1272 小希的迷宫(并查集)
http://acm.hdu.edu.cn/showproblem.php?pid=1272分析:1、判断是否成环2、判断是否连通如何判断成环 即两个连通的点有相同的公共结点时 此时成环这个输入输出格式 只能 OrzAC代码:#include #include #include原创 2017-05-20 09:40:14 · 466 阅读 · 0 评论 -
POJ 2524 Ubiquitous Religions(并查集)
http://poj.org/problem?id=2524分析:并查集模板题AC代码:#include int pre[50005];int find(int n){ int flag=n; while (pre[flag]!=flag){ flag=pre[flag]; } int temp; in原创 2017-07-19 08:15:41 · 489 阅读 · 0 评论 -
2018年ACM俱乐部个人训练赛第十六场 问题A.森林扩张
问题 A: 森林扩张时间限制: 1 Sec 内存限制: 256 MB题目描述小L走进了一片森林。这片森林由n个点和m条边组成,每个点都有一个大小ai。小L不小心在森林里迷路了,于是TA决定给森林添上几条边,把整片森林连成一棵树,就能走出去了,在点i与点j间连一条边需要花费ai+aj的代价。此外,小L还发现每个点上最多只能添一条边。小L想知道能不能走出森林,如果能的话,最小代价是多少。输入第一行两...原创 2018-03-02 08:40:11 · 666 阅读 · 0 评论 -
upc 3030 ArtWork(并查集)
3030: ArtWork 时间限制: 4 Sec 内存限制: 128 MB 题目描述A template for an artwork ...原创 2018-10-09 21:01:49 · 328 阅读 · 0 评论 -
HDU 1213 How Many Tables(并查集)
http://acm.hdu.edu.cn/showproblem.php?pid=1213题目大意:Ignatius要过生日 请他的朋友们吃饭 Ignatius想知道他至少需要多少张桌子 并不是所有的朋友都认识对方,而且所有的朋友都不想和陌生人呆在一起 规则是 如果A知道B B知道C 那就意味着A B C知道对方 所以他原创 2017-05-20 09:52:31 · 287 阅读 · 0 评论 -
HDU 1232 畅通工程(并查集)
http://acm.hdu.edu.cn/showproblem.php?pid=1232分析:找到有几个单独的连通区域 就知道要修几条路了AC代码:#include int pre[1005];int find(int x){ int r=x; while (pre[r]!=r){原创 2017-05-20 09:08:16 · 295 阅读 · 0 评论 -
HDU 1052 Tian Ji -- The Horse Racing 田忌赛马(贪心)
http://acm.hdu.edu.cn/showproblem.php?pid=1052 题目大意:田忌赛马 田忌赢一场赚200金币 输一场输200金币 求田忌最后能得到的金币最大值分析:1、如果田忌跑的最慢的马可以跑赢齐王最慢的马就跑2、如果跑不赢(输掉) 就用它去换掉齐王最快的马(田忌的这匹最慢的马不可能跑原创 2017-05-19 12:48:58 · 407 阅读 · 0 评论 -
HDU 1050 Moving Tables(贪心)
http://acm.hdu.edu.cn/showproblem.php?pid=1050原创 2017-05-19 13:59:03 · 270 阅读 · 0 评论 -
HDU 4864 Task(贪心)
http://acm.hdu.edu.cn/showproblem.php?pid=4864题目大意:公司有m个任务需要完成 任务有完成任务需要的时间和任务的难度 现在有n个机器来完成任务 机器有最长工作时间和机器的级别 机器级别小于任务难度或者最长工作时间小于任务完成所需要的时间的机器不能来完成这个任务 完原创 2017-05-30 09:21:48 · 776 阅读 · 0 评论 -
HDU 1051 Wooden Sticks(贪心)
http://acm.hdu.edu.cn/showproblem.php?pid=1051题目大意:用一个机器加工木头 在加工之前要对机器进行设置 设置机器花费时间1分钟 设置机器有两个参数 分别为木头的长度和重量 加工完一根木头后如果下一根木头的长度和重量都大于等于这根木头 则机器不需要重新设置 否则重新设置 花费时间为1原创 2017-05-16 18:26:51 · 323 阅读 · 0 评论 -
HDU 1009 FatMouse' Trade(贪心)
http://acm.hdu.edu.cn/showproblem.php?pid=1009题目大意:老鼠有M磅猫食 有N个房间 每个房间前有一只猫 房间里有老鼠最喜欢的食品 J[i] 若要引开猫 必须付出相应的猫食F[i] 当然这只老鼠没必要每次都付出所有的F[i] 若它付出F[i]的a% 则得到J[i]的a%原创 2017-05-17 13:25:13 · 388 阅读 · 0 评论 -
51nod 1125 机器交换最小代价(贪心)
1125 交换机器的最小代价基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题有N台机器重量各不相等,现在要求把这些机器按照重量排序,重量从左到右依次递增。移动机器只能做交换操作,但交换机器要花费一定的费用,费用的大小就是交换机器重量的和。例如:3 2 1,交换1 3后为递增排序,总的交换代价为4。给出N台机器的重量,求将所有机器原创 2017-06-06 21:25:11 · 498 阅读 · 0 评论 -
2018年ACM俱乐部个人训练赛第十四场 问题 E.还钱问题
问题 E: 还钱问题时间限制: 1 Sec 内存限制: 128 MB题目描述STOI团队里的兄弟们脑子里装满算法,出门经常忘了带钱,于是经常有甲向乙借钱买大饼,乙向丙借钱买饮料这种事发生。换成OI语言描述就是:这团队有N个人,每个人都跟别人借了一些钱,也借了一些钱给别人,同时满足他们借出去或者借来的钱都在这N个人当中,即总量不变。现在定义一个还钱行为:A B C 表示A还钱给B,钱的数额为C。问...原创 2018-03-04 11:37:11 · 487 阅读 · 2 评论 -
51 nod 1625 夹克爷发红包(暴力枚举+贪心)
1625 夹克爷发红包基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注在公司年会上,做为互联网巨头51nod掌门人的夹克老爷当然不会放过任何发红包的机会。现场有n排m列观众,夹克老爷会为每一名观众送出普通现金红包,每个红包内金额随机。接下来,夹克老爷又送出最多k组高级红原创 2017-05-19 12:29:30 · 664 阅读 · 0 评论 -
POJ 1328 Radar Installation(贪心)
http://poj.org/problem?id=1328题目大意:在海岸线上布置雷达来监测岛屿 x轴上方是海洋 下方是陆地 雷达只安置在海岸线上 问要能够监测所有岛屿至少要安置多少个雷达分析:按常识平面中雷达的监测范围是一个圆 要知道最少要安置多少雷达 直接将岛屿划分到雷达可监测的区域里是很难实现的原创 2017-05-30 10:33:56 · 328 阅读 · 0 评论 -
51 nod 砝码称重(贪心+进制转换思想)
现在有好多种砝码,他们的重量是 w0,w1,w2,...w0,w1,w2,... 每种各一个。问用这些砝码能不能表示一个重量为m的东西。样例解释:可以将重物和3放到一个托盘中,9和1放到另外一个托盘中。Input单组测试数据。 第一行有两个整数w,m (2 ≤ w ≤ 10^9, 1 ≤ m ≤ 10^9)。Output如果能,输出YES,否则输出NO。Sample原创 2017-05-16 17:49:22 · 835 阅读 · 0 评论 -
HDU 1233 还是畅通工程(最小生成树)
http://acm.hdu.edu.cn/showproblem.php?pid=1233还是最小生成树 prim算法AC代码:#include #define maxinf 0x3f3f3f3f int map[110][110]; int vis[110]; int dis[110]; int原创 2017-05-13 10:46:55 · 375 阅读 · 0 评论 -
POJ 1258 Agri-Net(最小生成树)
http://poj.org/problem?id=1258又学到一个新的算法 最小生成树 本题用到prim算法 题意 有N个农场 农场之间要铺设光缆 为保持通信农场之间要互相链接 问最少要多少光缆 典型的最小生成树问题 但是 对于没有接触过最小生成树的初学者来说很容易和最短路的问题混淆 但是这里和最短路原创 2017-05-13 10:43:16 · 294 阅读 · 0 评论 -
HDU 2066 一个人的旅行(Dijkstrea)
http://acm.hdu.edu.cn/showproblem.php?pid=2066分析:典型的最短路问题 不过要注意几点 1、草儿的家所在的城镇没有火车 她要去与她家相邻的城镇坐车 起始位置是车站 有多个起点 但是我们可以将草儿的家记作0 到车站的距离为0 这样就有一个起点了 2、题目没有告诉有多少个城原创 2017-05-20 08:44:42 · 270 阅读 · 0 评论 -
POJ 3268 Silver Cow Party(Dijkstra算法)
http://poj.org/problem?id=3268有编号为1-N的牛,它们之间存在一些单向的路径。给定一头牛的编号,其他牛要去拜访它并且拜访完之后要返回自己原来的位置,求这些牛中所花的最长的来回时间是多少。这个题可以将被访问的牛看作是 源点 不管是牛来拜访它 还是牛回去 都看成是 源点牛去拜访其他牛即可 这里只需要将时间互换一原创 2017-05-13 10:21:26 · 259 阅读 · 0 评论 -
POJ 2240 Arbitrage(Floyd算法)
http://poj.org/problem?id=2240通过各种货币之间 汇率的转换 能不能赚到钱 运用Floyd算法 求出最后其本身到本身的汇率是否大于1 大于1 就可以赚到钱AC代码:#include #include int n,m; char name[50][50]; doub原创 2017-05-13 10:23:27 · 349 阅读 · 0 评论 -
HDU 2544 最短路( Dijkstra算法 和 Floyd算法)
http://acm.hdu.edu.cn/showproblem.php?pid=2544最短路的最简单的题目 入门题目 直接套模板就可以 给出Dijkstra算法和Floyd算法的代码 学习这两个算法可以从这个题目开始Dijkstra算法:#include const int maxinf=9999999;原创 2017-05-13 10:02:55 · 342 阅读 · 0 评论 -
POJ 1847 Tram(spfa)
Tram network in Zagreb consists of a number of intersections and rails connecting some of them. In every intersection there is a switch pointing to the one of the rails going out of the intersection. When the tram enters the intersection it can leave only原创 2017-09-15 09:06:07 · 329 阅读 · 0 评论 -
POJ 2387 Til the Cows Come Home(Dijkstra算法)
http://poj.org/problem?id=2387最短路的简单问题 套模板 运用Dijkstra算法即可 不过要注意重边问题 即 两点之间可能会有多条直接连通的路 因为我们求最短路 所以只把这多条路中最短的一条记录下来即可AC代码:#include int map[2010][2010]原创 2017-05-13 10:09:50 · 251 阅读 · 0 评论