![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
瑞灯的路牌
直面
展开
-
codeforces 624d 623b Array GCD
过年玩了20天 都不会写了题意:有两种操作,每种只能用一次,第一种对于一段连续区间进行移除(不能全删完),代价是长度*a,第二种是对于一些数进行+1或者-1,使得最后的剩余的最大公约数大于1思路:由于不能全删完,所以至少会有一个数留着,这个数肯定会是头一个或最后一个,最大公约数肯定是在选中的这个数最后状态中的一个约数,而我们只要先枚举这个数是多少(一共6种),然后枚举他的原创 2016-02-19 17:04:24 · 656 阅读 · 0 评论 -
codeforce 590d
思路:从最后一个数开始考虑,是否放入 k-数列 中,因为后面的数不影响前面的数,并且总步数不超过n*n。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define LL long longint...原创 2015-11-04 14:52:59 · 383 阅读 · 0 评论 -
codeforces 811C Vladik and Memorable Trip
题意:选择n个区间内所有的元素不能在外部出现,求所有各区间内的集合元素异或和?思路:先预处理可行的区间,然后扫一波即可。#include #include #include #include #include #include #include #include using namespace std;#define LL long longconst原创 2017-05-27 22:47:15 · 313 阅读 · 0 评论 -
codeforces 757e Bash Plays with Functions
题意:给你两个数 n和r 可以做r次分解当r大于0 n可以分解成两个因子u和v u*v=n 当r 等于0 n分解出的两个因子的gcd要为1如题意所给的公式来计算最终结果思路:仔细观察 在 r相同的情况下 25 和 4 30和42 的答案是相同是由于 他们的构成结构相同 即n=(a^x)*(b^y)*(c^z) ...原创 2017-02-09 19:09:53 · 560 阅读 · 0 评论 -
codeforces 713C
题意:就是把一个数列变成严格递增的数列 求最小花费思路:直接考虑结果的整个数列 必然存在那么几个数 他是从始至终 都没有变过 那么假设有一些数会受到这个数影响 比如一个数ai不变 如果aj 是受ai影响 那么就会消耗 abs(ai-i-aj+j) 那么我把每一个ai-i设为一个基准线 那么dp[ai-i]就是当前基准线花费最小的情况 既可获得答案 #incl原创 2016-09-29 16:42:52 · 637 阅读 · 0 评论 -
codeforces 710e
题意:一个空文本 可以删除一个字符a 也可以增加一个字符a 或者复制整个字符串 问如何到达长度为n思路:因为一开始没看到有删除功能直接扑了,以为是简单dp,所以直接错了两发T^T。那么只要多判断有删除的就好了。 如果要后面j个点如果要返回i点的话需要的是到val的最小距离-(j-i)*操作1的值,那么我们把他们记在一个队列里,每次拿出用操作1回到原点最小代价的那个就ok,然后再删除掉原创 2016-09-04 10:53:03 · 273 阅读 · 0 评论 -
codeforces 712d
题意:就是a,b玩游戏,a的起始分数为a,b的起始分数为b,每一轮两个都随机加 [-k k]的一个数 问你a比b的结果有几种思路:因为两个人不互相干扰 看了一下数据范围 直接记下了每一轮的状态 即dp[i][j]表示第i轮有j分数有多少 最后比较一下 ps:虽然很容易想 但是太暴力了 一点都不优雅 后来发现有很简单的快的方法#include #inclu原创 2016-09-11 19:03:37 · 413 阅读 · 0 评论 -
CodeForces - 675E
题意:一开始 你在第一个站 现在告诉每个站可以买一张票去其他地方(只能去比他坐标大的) 最后一个站没有卖n表示 有n张车站于是有n-1张车票车票ai 表示这张车票可以从 i 车站出发 去 i+1 车站到 ai车站的任意一个车站 现在 假设 pij 表示从i 到 j 的车站 最小用票数量求所有的pij的和思路:假设我原创 2016-07-13 21:51:02 · 300 阅读 · 0 评论 -
codeforces 626f
这题不会写 看了官方题解才知道 T T 感觉涨姿势了 题意:将数据分成若干组 每组的价值为最大值减去最小值 问不超过可k的方案数 有多少种?思路:虽然我知道是一道dp题目,但是第二个状态总是朦朦胧胧想不出来 首先对数据排序dp状态分为三种:第一个状态是当前是哪个数据了第二个状态是当前还有几组(这些组代表了一定要加)第三个状态是当前至少还会加多少值原创 2016-02-22 15:54:58 · 744 阅读 · 0 评论 -
hdu 6710 2019 CCPC 网络赛 09题
题意:就是给你一个二分图,左右两边两点之间存在边的概率是0.5,问两点的期望距离是多少?思路:组合数学和dp。设dp[i][j][k][l]第一个状态是当前的步长第二个状态是左边还有多少个点没链接第三个状态是右边还有多少个点没链接第四个状态是当前可用来链接下一批的点是多少个举一个转移的例子,当我们从第一个点出发可以链接到右边的m个点(不包含终点),则第二个状...原创 2019-08-24 11:12:15 · 432 阅读 · 0 评论