上一页 1 ··· 9 10 11 12 13 14 15 下一页
摘要: 题目链接 这道题属于网络流的模板题,不是很了解网络流的可以看看这篇介绍 http://www.cnblogs.com/SYCstudio/p/7260613.html 首先有一个定理 最大流最小割定理:最大流最小割定理是网络流理论的重要定理。是指在一个网络流中,能够从源点到达汇点的最大流量等于如果从 阅读全文
posted @ 2019-02-22 10:52 清酒令 阅读(339) 评论(0) 推荐(0)
摘要: The designers have come up with a new simple game called “Rake It In”. Two players, Alice and Bob, initially select an integer k and initialize a scor 阅读全文
posted @ 2019-02-20 15:58 清酒令 阅读(221) 评论(0) 推荐(0)
摘要: 题目链接 这题写的一把辛酸泪,第一次用getchar()读入,再加上很少用scanf()读入字符,被输入输出缓冲安排的明明白白,最后放弃治疗,用cin,还是死活没有输出,最后才发现是因为for循环多加了一步,白被坑了有一天。 算法分析:首先把每个男士加入队列,让每一个没配对的男士去向女士请求配对,如 阅读全文
posted @ 2019-02-20 10:17 清酒令 阅读(245) 评论(0) 推荐(0)
摘要: 题目链接 题目大意: 给定一个长度为n的序列,要求能够执行m次下列操作: 1.查询区间[l,r]的和 2.将区间[l,r]的每一个数%=mod 3.修改第x个数为y 操作1,3都是线段树的基本操作,线段树详细知识可以看看这篇大牛的文章 https://www.cnblogs.com/TheRoadT 阅读全文
posted @ 2019-02-18 19:54 清酒令 阅读(282) 评论(0) 推荐(0)
摘要: 题目链接 题目因为要根据上一次的输出结果来判断这次的输入,也就是要求我们强制在线,不能够把输入全部储存后处理 如果不要求强制在线,我们可以先把所以输入储存起来,从最后开始处理,把删边改成加边,如果在加边前不连通,加边后连通,也就等价意味着删边后会不连通,再把输出储存起来,最后从头到尾输出 既然强制在 阅读全文
posted @ 2019-02-17 11:34 清酒令 阅读(323) 评论(0) 推荐(0)
摘要: 题目链接 做的第一道数位DP题,听说是最基础的模板题,但还是花了好长时间才写出来。。。。。 想深入了解下数位DP的请点这里 先设dp数组dp[i][j][k]表示数位是i,以j开头的数k出现的次数 有 数位dp的题一般都会用到前缀数组,题目要求我们求b-a这个区间里各个数码出现的次数,我们可以分别求 阅读全文
posted @ 2019-02-13 14:07 清酒令 阅读(172) 评论(0) 推荐(0)
摘要: 链接:https://ac.nowcoder.com/acm/contest/86/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge, 64bit IO Format: %lld 时间限制:C/C++ 阅读全文
posted @ 2019-02-11 14:34 清酒令 阅读(772) 评论(0) 推荐(0)
摘要: 题目链接 分析:一个裸的NIM博弈 对于一个Nim游戏的局面(a1,a2,...,an),它是P-position(即当前局面先手必败)当且仅当a1^a2^...^an=0,其中^表示异或(xor)运算。 一个常识:异或自己两次,相当于没有异或,即异或的消去律,可用这种方式避免T 阅读全文
posted @ 2019-02-10 21:10 清酒令 阅读(176) 评论(0) 推荐(0)
摘要: 题目链接 分析:这个题本质上可以看成是一个括号匹配题,因为当出现00和11的时候,毫无疑问是前一天看题,后一天写题,这样可以得到最大的得分10 将全部00和11删掉后,就是交替出现的01串了 代码如下: 阅读全文
posted @ 2019-02-03 23:35 清酒令 阅读(248) 评论(0) 推荐(0)
摘要: 题目请点这里 分析:这是一道BFS的模板题,构造一个队列,将每个满足条件的(不超过边界,不超过左右移动次数的限制)位置推入队列,如果不是障碍物且没到达过,就将可到达位置的个数加1 此外,注意这里的输入,输入迷宫的时候是直接输字符串,可以用cin,也可以用getchar()函数 getchar()函数 阅读全文
posted @ 2019-02-03 19:59 清酒令 阅读(209) 评论(0) 推荐(0)
摘要: 题目链接点这里 这个题输入类型是第一次见,并没有把n和m的具体范围给你,但是给了n*m的范围,武断的设为1e6*1e6的二维数组铁铁WA,就将二维数组转换为一维数组 题目类型属于二维数组前缀和,有um[i][j]=sum[i−1][j]+sum[i][j−1]−sum[i−1][j−1]+a[i][ 阅读全文
posted @ 2019-02-02 23:20 清酒令 阅读(214) 评论(0) 推荐(0)
摘要: 分析:这个题因为数据量非常小,可以直接用四维的DP数组 dp[i][j][k][l]表示第一个人走到位置(i,j),第二个人走到位置[k][l]时所取的数的最大和 状态转移方程可以轻松得出为:dp[i][j][k][l]=max(dp[i-1][j][k-1][l],max(dp[i-1][j][k 阅读全文
posted @ 2018-12-29 19:15 清酒令 阅读(383) 评论(0) 推荐(0)
摘要: 例题见挑战程序设计竞赛P56 解释:子序列是从原序列中按顺序(可以跳着)抽取出来的,序列是不连续的,这是其和子串最大的区别; 我们可以定义dp数组为dp[i][j],表示的是s1-si和t1-ti对应的最长公共子序列长度 状态转移方程的话我们分为s[i],t[i]相同和s[i],t[i]不同时的情况 阅读全文
posted @ 2018-12-27 21:43 清酒令 阅读(319) 评论(0) 推荐(0)
摘要: 洛谷P1359租用游艇 分析:这个游艇我看到题目下意识的就想将dp数组设为dp[i][j]表示i到j之间的最短距离,但题目上要求的只是从起点到终点的距离,这样设只是自找麻烦。 直接设成dp【i】表示从起点到i的最短距离。 状态转移方程是dp[i]=min(dp[i],dp[j]+a[i][j]),比 阅读全文
posted @ 2018-12-25 21:44 清酒令 阅读(233) 评论(0) 推荐(0)
摘要: 洛谷P1510 分析:本质上还是一个01背包,将体力当做重量,体积当做价值。配上滚动数组 即dp[j]代表在体力耗费为j时最大能搬运多少体积的石头,当dp[j]>v时就说明存在满足情况的解,这样,就选择最小的j就可以了 PS:我这里用了个中间结果ans,其实没必要,可以直接在后面加上一个for循环, 阅读全文
posted @ 2018-12-22 21:32 清酒令 阅读(243) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 下一页