10.2模拟赛总结

news/2024/10/2 1:04:48

大概难度:t1t2黄t3蓝t4紫
预估得分:100+0+0+0~10
实际得分:100+0+0+10=110
黄题切不出来,我是人机
t1大概20~30min有思路,但当时的思路是l到r的区间总数-全奇数的区间总数。代码大概写了1h左右发现少减了全偶数的情况。剩下的时间就都在调代码和加特判,11:30左右调完,剩下30min在t1的long long在纠结,还顺便在t4cout了个-1

t1

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=5e5+10;
int a[N],jl[N],jr[N],sl[N],sr[N];
ll sumj[N],sums[N];
ll js(ll l,ll r){return r-l+1+(r-l+1)*(r-l)/2;
}
int main(){freopen("math.in","r",stdin);freopen("math.out","w",stdout);int n,q;cin>>n>>q;for(int i=1,x;i<=n;++i){scanf("%d",&x); a[i]=(x&1);}int tot=0;for(int i=1;i<=n;){while(i<=n&&a[i]==0) ++i;if(i<=n){jl[++tot]=i;while(i<=n&&a[i]==1) ++i;jr[tot]=i-1;}}int cnt=0;for(int i=1;i<=n;){while(i<=n&&a[i]==1) ++i;if(i<=n){sl[++cnt]=i;while(i<=n&&a[i]==0) ++i;sr[cnt]=i-1;}}for(int i=1;i<=tot;++i){sumj[jr[i]]=js(jl[i],jr[i]);}for(int i=1;i<=cnt;++i){sums[sr[i]]=js(sl[i],sr[i]);}for(int i=1;i<=n;++i){sumj[i]+=sumj[i-1]; sums[i]+=sums[i-1];}ll ans=0;for(int t=1,l,r,i,j;t<=q;++t){ans=0;scanf("%d %d",&l,&r);ans=js(l,r);i=(int)(upper_bound(jl+1,jl+tot+1,l)-jl-1); j=(int)(upper_bound(jl+1,jl+tot+1,r)-jl-1);if(jl[i]<=l&&jr[i]>=r){printf("0\n"); continue;}if(jr[i]>=l) ans-=js(l,jr[i]);if(jr[j]>=r) ans-=(i!=j)?js(jl[j],r):0;else j+=1;if(i+1<=j-1) ans-=sumj[jr[j-1]]-sumj[jl[i+1]-1];i=(int)(upper_bound(sl+1,sl+cnt+1,l)-sl-1); j=(int)(upper_bound(sl+1,sl+cnt+1,r)-sl-1);if(sl[i]<=l&&sr[i]>=r){printf("0\n"); continue;}if(sr[i]>=l) ans-=js(l,sr[i]);if(sr[j]>=r) ans-=(i!=j)?js(sl[j],r):0;else j+=1;if(i+1<=j-1) ans-=sums[sr[j-1]]-sums[sl[i+1]-1];printf("%lld\n",ans);}return 0;
}

t2

#include <iostream>
#include <stack>
using namespace std;
const int N=3010;
stack<int>st;
int a[N][N],dp[N][N],l[N][N],s[N][N];
int main(){freopen("art.in","r",stdin);freopen("art.out","w",stdout);int n,m;cin>>n>>m;char ch;for(int i=1;i<=n;++i){for(int j=1;j<=m;++j){cin>>ch; a[i][j]=(ch=='W')?1:2;}}int ans=1;for(int i=1;i<=n;++i){for(int j=1;j<=m;++j){l[i][j]=(a[i][j]==a[i][j-1])?l[i][j-1]+1:1;}}for(int j=2;j<=m;++j){for(int i=1;i<=n;++i){while(st.size()&&l[st.top()][j]>l[i][j]){dp[st.top()][j]+=i-st.top(); st.pop();}st.push(i);}while(st.size()){dp[st.top()][j]+=n+1-st.top(); st.pop();}for(int i=n;i>=1;--i){while(st.size()&&l[st.top()][j]>l[i][j]){dp[st.top()][j]+=st.top()-i-1; st.pop();}st.push(i);}while(st.size()){dp[st.top()][j]+=st.top()-1; st.pop();}}for(int i=1;i<=n;++i){for(int j=1;j<=m;++j){ans=max(ans,min(dp[i][j],l[i][j])*min(dp[i][j],l[i][j]));}}cout<<ans;return 0;
}

t3

(待补)

t4

(待补)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66992.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

P5661 [CSP-J2019] 公交换乘P2952 [USACO09OPEN] Cow Line S

自己写的第一个c++博客(因为懒得写两个,所以合成一篇写) [CSP-J2019] 公交换乘 题目描述 著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案:在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠票,…

关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题

安装准备:U启动盘,Ubuntu系统 插入启动盘,开启电脑选择启动项为U启动(我的电脑为F12)安装Ubuntu系统选启动盘启动后,出现Ubuntu的图标后直接黑屏,无法看到安装界面。 原因:linux内核要加载第三方显卡驱动nouveau驱动。 解决方法:在启动出现Ubuntu的图标后,在选择安装…

忘记帝国 CMS 密码怎么办?教你一招轻松重置

如果您无法通过“找回密码”功能重置密码,可以尝试手动重置密码。备份数据库:在开始任何操作之前,请先备份数据库,以防万一。连接数据库:使用数据库管理工具(如 phpMyAdmin)连接到帝国CMS的数据库。找到用户表:导航到用户表,通常是 phome_enewsuser。查找用户记录:在…

dedecms(织梦)网站安全防护设置

织梦CMS 是国内常用的免费开源管理系统之一,但由于其广泛使用,也存在许多已知的安全漏洞。为了提高织梦CMS网站的安全性,以下是一些有效的安全防护设置步骤: 1. 修改网站后台的访问路径修改后台路径:默认后台路径为 http://域名/dede/。 修改为更复杂的路径,例如 http://…

静态QQ登录代码学习

记录学习 @搬砖界泰斗这只小狐狸 的静态QQ登陆页面源码,了解静态登陆页面如何书写&&拓宽自己对css的理解 Q1:用css调节子级元素位置时什么时候调节margin,什么时候调节padding? A1:margin对外,padding对内 e.g.要实现一个这样的排版 有一个大大盒子fafather,里面…

帝国CMS后台登陆时错误_enewsloginfail

当你在迁移帝国CMS网站后,遇到后台登录时出现“Table phome.***_enewsloginfail doesnt exist”的错误时,通常是因为数据库没有正确恢复。以下是详细的解决步骤: 1. 检查数据库恢复情况登录数据库管理工具:使用 phpMyAdmin 或其他数据库管理工具登录到数据库。检查数据库表…

解决 DedeCMS 报错“Please set ‘request_order’”的问题

如果你使用的是虚拟主机,无法直接修改 php.ini 文件,可以通过修改 DedeCMS 的代码来解决这个问题。找到 common.inc.php 文件:打开织梦CMS安装目录下的 include/common.inc.php 文件。修改代码:使用文本编辑器打开 common.inc.php 文件。找到第 34 行:phpif (strtoupper(i…

织梦错误Please set ‘request_order’

当你在使用 DedeCMS 并遇到错误提示“DedeCMS Error: (PHP 5.3 and above) Please set ‘request_order’ ini value to include C,G and P (recommended: ‘CGP’) in php.ini, more…”时,可以通过以下两种方法来解决这个问题: 方法 1:修改 php.ini 文件找到 php.ini 文件…