#dp#NOIP2020.9.26模拟jerry】的更多相关文章

问题 D: 七夕模拟赛 时间限制: 1 Sec  内存限制: 128 MB提交: 60  解决: 23[提交][状态][讨论版] 题目描述 " 找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." " 诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这种单身的菜鸟来说是多么的痛苦...虽然他听着这首叫做" 找啊找啊找GF" 的歌,他还是很痛苦.为了避免这种痛苦,sqybi决定要给自己找点事情干.他去找到了…
16:33:56 2020-06-26 当然可以先看一下成绩: 非常显然的成绩不能算有多好,当然其实这也可能是假期水课的报应  (额) 但是比我集训前想象的要好一点(集训时想象的是排名前30就可以,嗯?) 好了,毕竟是第一天,后面日子还长,相信结果不会烂的. 好了,现在看一下第一题: 第一题 原题来自洛谷P2661 :题目链接:https://www.luogu.com.cn/problem/P2661 比较显然的暴力思路(就是我写的)但是复杂度是O(n2)的,显然只有60分. 然后想正解,比较…
LINK:序列 考虑前20分 容易想到爆搜. 考虑dp 容易设\(f_{i,j,k,l}\)表示前i个位置 选了j对 且此时A选择了k个 B选择了l个的最大值.期望得分28. code //#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<ctime> #include<cctype> #include<queue> #include<deq…
这道题跟另一道题很像,先看看那道题吧 巨神兵(obelisk) 题面 欧贝利斯克的巨神兵很喜欢有向图,有一天他找到了一张nnn个点mmm条边的有向图.欧贝利斯克认为一个没有环的有向图是优美的,请问这张图有多少个子图(即选定一个边集)是优美的?答案对 1,000,000,0071,000,000,0071,000,000,007 取模. n<=17n<=17n<=17 分析 这道题就是枚举拓扑序最后的点集来转移 #include <bits/stdc++.h> using na…
题目大意 动态维护数列中大于等于某个数的极长连续段的个数. 思路 我们考虑每段的开头,记为 \(i\),高度为 \(a_i\) 那么此时水淹的高度必然满足 \(a_{i-1} < x \leq a_i\) 这样的 \(x\) 在此处会给答案贡献加一 那么我们考虑所有的这种位置,开一棵权值线段树,对于这些 \(x\) 的位置都加 \(1\) 询问时就单点查询 \(x\) 在线段树种的值就行了 修改时注意它原来的贡献,包括它与前面的数和它与后面的数 这些减去,修改后在加上新的贡献 然后,就没有然后了…
题目大意 求形如 \[\sum_{i=1}^n |a_ix + b_i| \] 的最小值 思路 我们显然可以先把系数 \(a\) 提出来 于是就成了 \(\sum_{i=1}^n |a_i|·|x + \frac{b_i}{a_i}|\) 对于任意一个 \(i\),它的零点在 \(-\frac{b_i}{a_i}\) 处 而我们知道整个函数的最值必然在零点处 那么取所有零点计算取最小值就可以了 \(O(n^2)\) 其实并不需要那么高的复杂度 我们先将零点从大到小排序 然后换一个零点时,它后面的…
link $solution:$ $10^{10} \leq L \leq R < 10^{11}$这个数据范围很容易想到数位$dp$. 依照题意模拟即可. #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define int long long using namespace std; inline int read(){ ,ans=;char c=…
题目链接 题意 给定一个 \(DAG\),每个边的权值为一个字母.两人初始各占据一个顶点(可以重合),轮流移动(沿着一条边从一个顶点移动到另一个顶点),要求每次边上的权值 \(\geq\) 上一次的权值.无法移动者输. 要求:对所有可能的初始情况,给出一张胜负表. 思路 特殊情况 两人在同一个顶点上,那么必然是先手输: 如果有\(u\rightarrow v\)边,并且先手在 \(u\) 上,后手在 \(v\) 上,且先手此时可以移动(判断边的权值),那么必然是先手赢 一般情况 考虑用 \(dp…
题目链接: http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=677&pid=1003 题意: 求长度为n的序列中,每个字符(a~z)连续出现不超过3次的种数. 分析: 数位dp,设dp[i][j]表示进行到第i个字符,其中当前字符出现j次,然后每次状态转移一下就好了~ 代码: #include <cstdio> const int maxm = 2005, mod = 1e9+7; long long d…
题目大意: em.... 就是多重背包 挑战340页的东西 ...自己的笔记总结总是比较乱的 重点:原始的状态转移方程中 更新第 i 种物品时 重量%w[i] 的值不同 则它们之间是相互独立的: 1--- 就是说在考虑第 i 种物品拿几个时,w[i]+1 与 2*w[i]+1 与...与 k*w[i]+1 相互之间是有关联的 但 w[i]+j ... k*w[i]+j (j不为1) 与 w[i]+1 是相互独立 无关的,即%w[i]的值不同时 相互独立 2--- 那么可以将 w[i]+j 与 2…