博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019hdu多校1
阅读量:5126 次
发布时间:2019-06-13

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

1009

考虑贪心,暴力枚举一位。

$o(676n)$

#include
using namespace std;const int N=1e5+333;int n,m,zl;int pos[26],cnt[N],t[26],az[N];char s[N],st[N];int l[N],r[N],nx[N],zzq[26];int main(){ ios::sync_with_stdio(0); //freopen("p.in","r",stdin); //freopen("p.out","w",stdout); while(cin>>s){ n=strlen(s); cin>>m; for(int i=0;i<26;i++)cin>>l[i]>>r[i]; //if(m>10)continue; int ans=0; for(int i=0;i<=25;i++){ans+=l[i];pos[i]=n+3;t[i]=0;cnt[n+3]=0;} for(int i=0;i<=n+20;i++)az[i]=cnt[i]=0; for(int i=n;i>=1;i--){ int dot=s[i-1]-'a'; nx[i]=pos[dot]; pos[dot]=i; t[dot]++; cnt[i]=t[dot]; } zl=0; /*while(pos[0]<=n){ cout<
<
m-i&&k!=j)ax=1; } int q=0; for(int pp=0;pp<=25;pp++)if(l[pp]>0)q+=l[pp]; //cout<
<
m-i)ax=1; if(ax){ for(int k=0;k<=25;k++) pos[k]=zzq[k]; l[j]++; continue;} //AFAEFAEEFD az[j]++; st[i-1]='a'+j; //cout<
<
View Code

 

1001

考虑dp

https://www.cnblogs.com/DeaphetS/p/11229389.html

#include
using namespace std;#define ll long longconst int mo=998244353;ll dp[102][102][102][2],n,m,ans;vector
r[102],x[102]; int main(){ int t; //freopen("p.in","r",stdin); //freopen("p.out","w",stdout); cin>>t; while(t){ t--; cin>>n>>m; memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++){ r[i].clear(); x[i].clear(); } for(int i=1;i<=m;i++){ int a,b,c; cin>>a>>b>>c; r[b].push_back(a); x[b].push_back(c); } dp[0][0][0][0]=1; for(int cur=1;cur<=n;cur++){ int o=cur%2; for(int i=0;i<=cur;i++) for(int j=i;j<=cur;j++) for(int k=j;k<=cur;k++) dp[i][j][k][o]=0; for(int i=0;i<=cur;i++) for(int j=i;j<=cur;j++) for(int k=j;k<=cur;k++) { dp[i][j][cur-1][o]=(dp[i][j][cur-1][o]+dp[i][j][k][o^1])%mo; dp[i][k][cur-1][o]=(dp[i][k][cur-1][o]+dp[i][j][k][o^1])%mo; dp[j][k][cur-1][o]=(dp[j][k][cur-1][o]+dp[i][j][k][o^1])%mo; dp[i][j][k][o]=(dp[i][j][k][o]+dp[i][j][k][o^1])%mo;} for(int i=0;i<=cur;i++) for(int j=i;j<=cur;j++) for(int k=j;k<=cur;k++) for(int az=0;az
=ql)+(j>=ql)+(k>=ql)+(cur>=ql)!=qx) dp[i][j][k][o]=0; } } ans=0; for(int i=0;i<=n;i++) for(int j=i;j<=n;j++) for(int k=j;k<=n;k++) ans=(ans+dp[i][j][k][n%2])%mo; cout<
<
View Code

 

转载于:https://www.cnblogs.com/lxzl/p/11225415.html

你可能感兴趣的文章
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>
NAT地址转换
查看>>
Nhibernate 过长的字符串报错 dehydration property
查看>>
Deque - leetcode 【双端队列】
查看>>
Linux 普通用户拿到root权限及使用szrz命令上传下载文件
查看>>
人物角色群体攻击判定(一)
查看>>
JavaWeb学习过程 之c3p0的使用
查看>>
MySql Delimiter
查看>>
一步步学习微软InfoPath2010和SP2010--第九章节--使用SharePoint用户配置文件Web service(2)--在事件注册表单上创建表单加载规则...
查看>>
使用客户端对象模型读取SharePoint列表数据
查看>>