12.25模拟赛T2】的更多相关文章

https://www.luogu.org/blog/a23333/post-xing-xuan-mu-ni-sai-path-ji-wang-zui-duan-lu 如果设f[i]表示从i到n的期望 那么转移方程比较好列. 但是取min的环形转移? 反过来想, 如果我们知道了f[x]的大小关系, 其实,可以化简成 其实就是,我们把一些min变成f[x]然后再消一消. 其实转移貌似没有环了? 但是我们不知道大小关系. 一些边没有用,度数减少一些. 只有比f[x]小的f[y]会转移到x,感觉和最短…
可以区间dp,但是复杂度太高. 所以应该是贪心,怎么贪心呢? 这种题目,最好还是手玩找一些规律. 可以发现,由于保证可以m次填完,所以颜色之间没有相互包含关系. 比较像分治的模型. 所以考虑拿到一个区间怎么处理. 假设a[l]==a[r],那么为了合法,一定先刷这种颜色.然后分部分递归下去. 否则,对于区间:AEEGEABBBCDDC 里面的夹心肯定不能先处理了,可以大概看做:A..AB..BC..C 先刷哪一个? 刷两边长度较小的一个 证明: 如果刷中间,那么中间的位置之后就不能再动了.如果刷…
二兵的赌注 Description游戏中,二兵要进入了一家奇怪的赌场.赌场中有n个庄家,每个庄家都可以猜大猜小,猜一次一元钱.每一次开彩前,你都可以到任意个庄家那里下赌注.如果开彩结果是大,你就可以得到你之前猜大的庄家相应的ai元钱.如果开彩结果是小,你就可以得到你之前猜小的庄家相应的bi元钱.你可以在同一个庄家那里既猜大又猜小,(这样是两块钱),也可以什么都不猜(这样不用钱).问怎么样下注,才能赢得最多的有保障的钱.有保障的钱指不管开彩结果是大是小,你都能够赢得相应的钱.你能帮助他计算这个值吗…
可以发现,答案O(根号)(因为链上答案最大,n/2,n/3...根号种) 每次求答案要二分 优秀的做法是: 对于小于根号n的暴力nlogn找,可能二分到同一个mid,记忆化一下最小的tot值 对于大于根号n的枚举答案(从min(n/sqrt(n),ans[]之前ans最小值),,开始枚举)计算最少需要的tot关键点数量,一个区间答案就确定出来了. 卡卡常可过.…
森林 考虑到题目中给出条件两点间至多只有一条路径. 就可以发现,这是一个森林. 而森林有一个很有用的性质. 考虑对于一棵树,点数-边数=\(1\). 因此对于一个森林,点数-边数=连通块个数. 所以,我们只要前缀和求出询问区间内的点数和边数,就可以计算出连通块个数了. 注意边数要分两个方向讨论,然后询问时注意防止越界. 代码 #include<bits/stdc++.h> #define Tp template<typename Ty> #define Ts template<…
模拟赛T2 交换 解题报告 题目大意: 给定一个序列和若干个区间,每次从区间中选择两个数修改使字典序最小. \(n,m\) 同阶 \(10^6\) 2.1 算法 1 按照题意模拟,枚举交换位置并比较. 时间复杂度\(O(mn3)\). 期望得分20分. 2.2 算法 2 不难发现给定区间之外的位置对每个询问的答案无影响,所以每次的问题就是取出一个子段,问这个子段怎样交换一次字典序最小. 根据字典序定义,我们需要找到最小的位置满足通过交换可以使这个位置变小,也就是说这个位置不是后缀最小值,因此从后…
LINK:T2 这题感觉很套路 但是不会写. 区间操作 显然直接使用dp不太行 直接爆搜也不太行复杂度太高. 容易想到差分 由于使得整个序列都为0 那么第一个数也要i差分前一个数 强行加一个0 然后 显然让差分序列变成0即可. 每次可以单点修改两个位置的值 也可以当前和最后一个数后面那个数做 其实相当于单独做 表示后缀全体的事情. 0显然没有任何贡献了 考虑怎么做才是最优的. 当时没有证明 直接猜了一个结论是 每次操作比然会使一个位置上的值变成0. (当时以为假了 结果时当时没有想清楚 自闭..…
题目背景 qiancl 得到了一张藏宝图,上面写了一道谜题. 题目描述 定义\(F(n)\)为 n 在十进制下各个数位的平方和,求区间\([a,b]\)中有多少\(n\)满足\(k\times F(n) = n\). 输入描述 一行三个正整数\(k,a,b\). 输出描述 一行一个整数表示满足条件的\(n\)的个数. 样例输入 51 5000 10000 样例输出 3 数据范围及提示 测试数据 对应数据范围 其中12个测试点 \(1\le k,a,b\le 105\) 其中6个测试点 \(233…
心得:这一道题其实就是自己打暴力打出来的 没有想到正解真的就是暴力枚举 我的做法是这样的 就是枚举A字符串中长度为x的子串 看它是不是B串的子序列 接下来是我的绝望考试代码(100分AC) //light /* 这一道题我个人的思路就是二分答案+暴力 */ #include<bits/stdc++.h> using namespace std; string A,B; /* 可以逆序枚举字符串,用ne[i][j]表示i位置的下一个j+'a’字母的位置 */ ][];/* void Yuchul…
Weed duyege的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹. 为了查出真相,duyege 准备修好电脑之后再进行一次金坷垃的模拟实验. 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 vi 的金坷垃,或者除掉最 新 vi 层(不是量)撒的金坷垃.如果上面只留有不足 vi 层金坷垃,那么就相当于电脑上 面没有金坷垃了. duyege 非常严谨,一开始先给你 m 个上述操作要你依次完成.然后又对实验步骤进行 了 q 次更改,每次更改都会改变其中一个操作为另外一个操作.每次修改之后都…