随笔分类 -  刷题笔记: POJ

摘要:题目: 给你两个容器,分别能装下A升水和B升水,并且可以进行以下操作 FILL(i) 将第i个容器从水龙头里装满(1 ≤ i ≤ 2); DROP(i) 将第i个容器抽干 POUR(i,j) 将第i个容器里的水倒入第j个容器(这次操作结束后产生两种结果,一是第j个容器倒满并且第i个容器依旧有剩余,二 阅读全文
posted @ 2020-06-10 22:07 RioTian 阅读(164) 评论(0) 推荐(0) 编辑
摘要:一、内容 题意:给定2个字符串s1,s2,将2个字符串进行重组成S,规则是S2最下面拿一个,S1最下面拿1个,直到所有块都用完。 二、思路 用map记录下S串结果,若以前访问过这个串代表不可能有结果直接返回-1。 然后就是模拟重组串的过程。 三、代码 #include<iostream> #incl 阅读全文
posted @ 2020-06-10 16:15 RioTian 阅读(133) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个正整数n,请编写一个程序来寻找n的一个非零的倍数m,这个m应当在十进制表示时每一位上只包含0或者1。你可以假定n不大于200且m不多于100位。 提示:本题采用Special Judge,你无需输出所有符合条件的m,你只需要输出任一符合条件的m即可。 输入: 输入包含多组数据,每组数 阅读全文
posted @ 2020-06-10 15:05 RioTian 阅读(90) 评论(0) 推荐(0) 编辑
摘要:思路: 模板题,一步一步加入集合,最后判断有多少人跟0在同一个集合就行了。 #include<iostream> #include<cstdio> using namespace std; const int manx = 3e4 + 5; int a[manx]; int find(int x){ 阅读全文
posted @ 2020-06-09 21:18 RioTian 阅读(101) 评论(0) 推荐(0) 编辑
摘要:题目大意: 见《挑战程序设计竞赛》P74。 我的理解: 优先队列+贪心 注意把输入的距离(加油站到终点)改为起点到加油站。 因为求得是最优解,需要尽可能少的加油站,所以我们每次希望去加油的时候 加最大的那个,因而将加油站push进priority_queue(堆结构,默认每次弹出最大值) 在到达加油 阅读全文
posted @ 2020-06-09 16:31 RioTian 阅读(120) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=2484 题意:Alice和Bob玩游戏,从一堆圆环形排列的硬币中拿硬币,每次可以拿一个或者两个,但必须拿连续的(两个中间有空位也视为不连续),Alice先手,给定硬币个数,问谁赢。 题解: 当n=1或者n=2时,Alice可以一下子取走 阅读全文
posted @ 2020-05-30 21:16 RioTian 阅读(155) 评论(0) 推荐(0) 编辑
摘要:Candies POJ - 3159 题意: 给N个小朋友分糖, 给出M组约束a, b, c表示b的糖果不能比a多c个以上, 求1号和N号的最大糖果差异数 题解: 非常显然的线性查分约束问题 对于a, b, c表示b的糖果不能比a多c个以上 , 即cnt[a]+c >= cnt[b], 可以理解为a 阅读全文
posted @ 2020-05-22 19:43 RioTian 阅读(391) 评论(0) 推荐(0) 编辑
摘要:POJ :1511 http://poj.org/problem?id=1511 ##思路 求1号点到其他点的最短路 + 其他点到1号点的最短。 结果用long long。 用快读可以加快时间 代码 spfa 890ms #ifdef ONLINE_JUDGE #pragma warning (di 阅读全文
posted @ 2020-05-20 21:19 RioTian 阅读(312) 评论(0) 推荐(0) 编辑
摘要:POJ 2240 http://poj.org/problem?id=2240 题意:判断是否存在使得汇率增多的环 【任意一个点的汇率增多都可以】 Floyd 简单变形 w[i][j]=max(w[i][j],w[i][k]w[k][j]) #ifndef ONLINE_JUDGE 阅读全文
posted @ 2020-05-19 17:30 RioTian 阅读(303) 评论(0) 推荐(0) 编辑
摘要:POJ 3660 http://poj.org/problem?id=3660 思路: 传递闭包 输入A > B,那么我们可以建立一套A —>B 的边。 然后求出传递闭包。 判断一个人是否知道排名,如果知道大于它的人数+小于它的人数 == n-1那么就可以知道排名了。 大于它的人数: g[u][v] 阅读全文
posted @ 2020-05-19 15:37 RioTian 阅读(104) 评论(1) 推荐(0) 编辑
摘要:POJ - 1860 一种货币就是一个点 一个“兑换点”就是图上两种货币之间的一个兑换方式,是双边,但A到B的汇率和手续费可能与B到A的汇率和手续费不同。 唯一值得注意的是权值,当拥有货币A的数量为V时,A到A的权值为K,即没有兑换 而A到B的权值为(V-Cab)*Rab 本题是“求最大路径”,之所 阅读全文
posted @ 2020-05-14 15:59 RioTian 阅读(154) 评论(0) 推荐(0) 编辑
摘要:"POJ 3268 Silver Cow Party" 奶牛派对:有分别来自 N 个农场的 N 头牛去农场 X 嗨皮,农场间由 M 条有向路径连接。每头牛来回都挑最短的路走,求它们走的路的最大长度? 们其实都是“图” 最短路 dijkstra 解决任意两点最短路的变种 用floyd的话会TLE,$1 阅读全文
posted @ 2020-05-14 11:37 RioTian 阅读(113) 评论(0) 推荐(0) 编辑
摘要:Til the Cows Come Home Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 43861 Accepted: 14902 Description Bessie is out in the field and wan 阅读全文
posted @ 2020-05-12 22:37 RioTian 阅读(456) 评论(0) 推荐(0) 编辑
摘要:| Time Limit: 1000MS | | Memory Limit: 10000K | | | | | | Total Submissions: 1556 | | Accepted: 457 | Description After having drifted about in a smal 阅读全文
posted @ 2020-05-12 21:13 RioTian 阅读(124) 评论(0) 推荐(0) 编辑
摘要:POJ 2236 Wireless Network 加工并储存数据的数据结构 并查集 这是并查集的基本应用,两台修好的电脑若距离d内则加入合并。不过不小心的话会TLE,比如: #include <iostream> using namespace std; #define MAX_N 1001 + 阅读全文
posted @ 2020-05-10 20:45 RioTian 阅读(141) 评论(0) 推荐(1) 编辑
摘要:埃拉托斯特尼筛法(sieve of Eratosthenes ) 是古希腊数学家埃拉托斯特尼发明的计算素数的方法。对于求解不大于 n 的所有素数,我们先找出 sqrt(n) 内的 所有素数p1到pk ,其中 k = sqrt(n) ,依次剔除 Pi 的倍数,剩下的所有数都是素数。 具体操作如上述 图 阅读全文
posted @ 2020-05-08 21:25 RioTian 阅读(582) 评论(1) 推荐(3) 编辑
摘要:"POJ 3279" 经典【状态压缩】【DFS】题型 题目大意:有一个 M N 的格子,每个格子可以翻转正反面,它们有一面是黑色,另一面是白色。黑色翻转之后变成白色,白色翻转之后则变成黑色。 游戏要做的是把所有的格子翻转为白色。不过因为牛蹄很大,所以每次翻转一个格子,与它上下左右相邻接的格子也会被翻 阅读全文
posted @ 2020-05-08 20:40 RioTian 阅读(180) 评论(0) 推荐(0) 编辑
摘要:"原题链接" 思路: 正常的思路,只不过是将二维BFS换成三维的,也算是个模板题吧(PS:DFS超容易超时) 阅读全文
posted @ 2020-05-07 13:35 RioTian 阅读(118) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示