CF dp 一句话解题

wyq说刚入门oi 或是遇到瓶颈的时候就刷DP吧,虽然觉得这么刷CF题有点浪费,但是还是挺爽的,按照solved排序做的,前面的题都挺水的(忘记记录了混蛋),就不写了,从5C开始写解题

CF5 C. Longest Regular Bracket Sequence:题目大意,给一个括号序列,让你求最长的合法扩号子串,以及最长子串出现的次数 思路:开个栈乱搞,当遇到右括号的时候这右括号开始最长的长度应该是到左括号的长度加上左括号左边一个字符的最长长度

时间: 2024-08-06 08:23:47

CF dp 一句话解题的相关文章

cf#261 div2 解题报告

.....代码没什么可说的,主要是学习各路大神姿势 A题 化简化简水题,都告诉平行坐标轴了,数据还出了对角线,后面两个点坐标给的范围也不错 ........和最优代码相比姿势有点混乱 #include <cstdio> int x[4],y[4]; int abs(int n){ return n<0?-n:n; } int main(){ scanf("%d%d%d%d",x,y,x+1,y+1); int dx=abs(x[0]-x[1]); int dy=abs

Codeforces Round #396 (Div. 2) C题Mahmoud and a Message(dp)解题报告

Mahmoud wrote a message s of length n. He wants to send it as a birthday present to his friend Moaz who likes strings. He wrote it on a magical paper but he was surprised because some characters disappeared while writing the string. That's because th

7.18 DP考试解题报告

今天的考试真的是天崩地裂,写了的三个题全炸...然而谁叫我弱+不注意细节呢???真的要扇耳光... T1:题意:一段区间的高度为这个区间中高度的最小值,给定n个宽度,求每个宽度的期望高度 40% :算出长度为x的区间的所有的最小值的取值的和,除以总的方案数(n-x+1),用ST表预处理可以n^2;(记得开long long) 100%:对于每个点求出他取最小值的区间,即用两遍单调栈求出左,右边第一个小于他的值...记为l[i],和r[i],这一步和影魔很像: 对于当前这一个点,考虑以他为最小值,

cf#263 div2 解题报告

A:要求是否全部的字符都挨着偶数个'o',要读题啊....各种读错题... #include <cstdio> using namespace std; char maz[101][101]; int n; int cnt[101][101]; const int dx[4]={0,0,-1,1}; const int dy[4]={1,-1,0,0}; int main(){ scanf("%d",&n); gets(maz[0]); for(int i=0;i&

C. Ayoub and Lost Array cf dp

C. Ayoub and Lost Array time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Ayoub had an array aa of integers of size nn and this array had two interesting properties: All the integers in the a

CF round #292 解题报告

A题: 给出一个坐标(a,b),和走的步数,问有没有可能从(0,0)走这么多步刚好到达(a,b). 水题,结果还是wa了一次,没有考虑到a<0或者b<0的情况. 1 #include<cstdio> 2 int main() 3 { 4 int a,b,s; 5 while(scanf("%d%d%d",&a,&b,&s)!=EOF){ 6 if(a<0) 7 a=-a; 8 if(b<0) 9 b=-b; 10 if(a+b

POJ 3691 DNA repair AC自动机 + DP

题意:给你只包含‘A’,‘G’,‘T’,‘C’四个字母的n个模板串和1个文本串,问你文本串改变多少个字符就可以使得文本串中没有一个模板串 解题思路: 我们可以知道  dp[i][j] 为文本串到 第i 个字符  AC自动机状态为j的最少的变换次数(这里为什么要用AC自动机,因为end数组可以记录哪一个状态是结束的,而且处理以后可以知道那些后缀等于前缀--也就是不能到达,因为如果能够到达的话那么状态更新就会产生错误.),这样dp即可 解题代码: 1 // File Name: temp.cpp 2

ZOJ 3551 Bloodsucker (概率DP)

ZOJ Problem Set - 3551 Bloodsucker Time Limit: 2 Seconds      Memory Limit: 65536 KB In 0th day, there are n-1 people and 1 bloodsucker. Every day, two and only two of them meet. Nothing will happen if they are of the same species, that is, a people

HDU 2089 不要62(数位DP)

题意:求[n,m]内所有数字中不出现4也不出现连续62的数的个数. 输入:n m,多组数据,以0 0结尾. 输出:符合条件的数的个数. 限制:(0<n≤m<1000000) 时间:1000 ms 空间:32768 kB 分析:我们引入数位DP的应用范围:求出在给定区间[A,B]内,符合条件P(i)的数i的个数.条件P(i)一般与数的大小无关,而与 数的组成 有关. 本题我们采用打表+递推的DP思路解题,空间复杂度比记忆化搜索略高,但便于理解. #include <cstring>