博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017北京国庆刷题Day6 morning
阅读量:6220 次
发布时间:2019-06-21

本文共 1798 字,大约阅读时间需要 5 分钟。

期望得分:100+100+20=220

实际得分:100+100+20=220

 

模拟栈

#include
#include
using namespace std;#define N 10002char s[N],st[N];int top;int main(){ freopen("kakutani.in","r",stdin); freopen("kakutani.out","w",stdout); int n,len,lt; scanf("%d",&n); while(n--) { scanf("%s",s); len=strlen(s); top=0; for(int i=0;i
View Code

 

枚举i为间隔K个录像的左端点,那么间隔录像为[i,i+k-1]

设第一段为[Sa,Ta],第二段为[Sb,Tb],Ma为min[Sa,Ta],Mb为min[Sb,Tb]

随着Sa的左移,Ma单调不增

随着Tb的右移,Mb单调不增

如果枚举Sa,则有以下式子: Ta-Sa+1+Tb-Sb+1>=B

即Tb>=B+Sa+Sb-Ta-2

因为Tb右移,Mb单调不增,所以Tb取等号最优

所以二分Sa的位置,用st表查询Ma,Mb

#include
#include
#include
#include
#define N 1000001using namespace std;int st[N][21];int p,n;int logg2[N];void read(int &x){ x=0; char c=getchar(); while(!isdigit(c)) c=getchar(); while(isdigit(c)) { x=x*10+c-'0'; c=getchar(); }}void stpre(){ p=log2(n); for(int j=1,k=2;j<=p;j++,k<<=1) for(int i=1;i+k-1<=n;i++) st[i][j]=min(st[i][j-1],st[i+(k>>1)][j-1]); for(int i=1;i<=n;i++) logg2[i]=log2(i);}int getmin(int s,int t){ p=logg2[t-s+1]; int len=1<
>1; Tb=max(Sb+A-1,B+mid+Sb-Ta-2); Ma=getmin(mid,Ta); Mb=getmin(Sb,Tb); tmp=max(tmp,min(Ma,Mb)); if(Ma
View Code

 

数位DP

dp[i][j][0/1] 前i位匹配到X的第j位,是否已经包含1个X的数的个数

二分,计算<=mid的数里的答案

其中的匹配用kmp

#include
#include
using namespace std;typedef long long LL;LL L,R,K;LL dp[19][19][2];int len,f[19];char X[19];int a[19],cnt;void kmp(){ len=strlen(X); int j; for(int i=1;i
>1; if(query(mid)-tmp
View Code

 

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/7632014.html

你可能感兴趣的文章
宏常量,宏替换,const常量
查看>>
数学函数最小值为什么可以通过导数=0来求出呢?
查看>>
计算机操作系统(三)--- 处理器体系结构(一)
查看>>
poj1564
查看>>
poj1081
查看>>
poj1731
查看>>
day10:vcp考试
查看>>
BestCoder Round #74 (div.2)
查看>>
Kruskal HDOJ 1863 畅通工程
查看>>
解决MyEclipe出现An error has occurred,See error log for more details的错误
查看>>
BZOJ4942 & UOJ314:[NOI2017]整数——题解
查看>>
109.110.100.56 samba用户名 PAS, 密码 111111
查看>>
MySql的replace into 语句
查看>>
410. Split Array Largest Sum
查看>>
转 Python爬虫实战二之爬取百度贴吧帖子
查看>>
hdu 4960 记忆化搜索 DP
查看>>
layuiadmin更新echarts
查看>>
beanstalk源码剖析——概述
查看>>
[转] socket异步编程--libevent的使用
查看>>
linux下安装mysql详细步骤
查看>>