AtCoder Beginner Contest 430 (A~E)

news/2025/11/3 15:10:57/文章来源:https://www.cnblogs.com/greenofyu/p/19187185
AtCoder Beginner Contest 430 (A~E)

A:Candy Cookie Law

签到题。

1 a,b,c,d = map(int,input().split())
2 if c>=a:
3     if d>=b:
4         print("No")
5     else:
6         print("Yes")
7 else:
8     print("No")

B:Count Subgrid

数据范围很小,直接枚举左上角,然后做加法,写起来快。

要想跑得快,甚至可以加上矩阵前缀和,但是没必要。

 1 #include <iostream>
 2 #include <cstring>
 3 #include <algorithm>
 4 #include <vector>
 5 #include <stack>
 6 #include <unordered_set>
 7 using namespace std;
 8 const int N = 14;
 9 string g[N];
10 unordered_set<string> S;
11 int main() {
12     int n,m;
13     cin>>n>>m;
14     int ans=0;
15     // cout<<n<<m<<endl;
16     for(int i=0;i<n;i++) cin>>g[i];
17     for(int i=0;i<n-m+1;i++){
18         for(int j=0;j<n-m+1;j++){
19             string t="";
20             for(int x=i;x<i+m;x++){
21                 for(int y=j;y<j+m;y++){
22                     t+=g[x][y];
23                 }
24             }
25             // cout<<t<<endl;
26             if(S.count(t)==0){
27                 S.insert(t);
28                 ans++;
29             }
30         }
31     }
32 
33     cout << ans << "\n";
34     return 0;
35 }

C:Truck Driver

将a和b的位置分组,枚举l,判断r是否合法。

 1 n,a,b = map(int,input().split())
 2 s=input()
 3 posa,posb=[],[]
 4 for i,c in enumerate(s):
 5     posa.append(i+1) if c=='a' else posb.append(i+1)
 6 ia,ib=0,0
 7 ans=0
 8 for l in range(1,n+1):
 9     while ia<len(posa) and posa[ia]<l:
10         ia+=1
11     while ib<len(posb) and posb[ib]<l:
12         ib+=1
13     rA=posa[ia+a-1] if ia+a-1<len(posa) else n+1
14     rB=posb[ib+b-1] if ib+b-1<len(posb) else n+1
15     if rA<=n:
16         ans+=max(0,rB-rA)
17 print(ans)

D:Neighbor Distance

每次删除只会影响有限的几个值,考虑清楚,遍历即可。学到了set上使用prev和next函数。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 int main() {
 5     int n;
 6     cin >> n;
 7     set<LL> S;
 8     S.insert(0);
 9     LL t;
10     cin >> t;
11     S.insert(t);
12     LL ans = 2LL * t;
13     cout << ans << endl;
14     const LL INF = (1LL<<60);
15     for (int i = 0; i < n - 1; ++i){
16         cin >> t;
17         auto it = S.lower_bound(t);
18 
19         if (it == S.begin()){
20             LL R = *it;
21             LL nextR = (next(it) == S.end() ? INF : *next(it));
22             LL oldR = (nextR == INF ? INF : nextR - R);
23             LL newR = min((nextR == INF ? INF : nextR - R), R - t);
24             LL dt  = R - t;
25             ans += (newR + dt) - oldR;
26         }else if (it == S.end()){ 
27             auto itL = prev(it); 
28             LL L = *itL;
29             LL prevL = *prev(itL);
30             LL oldL = L - prevL;
31             LL newL = min(L - prevL, t - L);
32             LL dt  = t - L;
33 
34             ans += (newL + dt) - oldL;
35         }else { 
36             LL R = *it;
37             auto itL = prev(it);
38             LL L = *itL;
39             LL prevL = (itL == S.begin() ? INF : *prev(itL));
40             LL nextR = (next(it) == S.end() ? INF : *next(it));
41             LL oldL = min((prevL == INF ? INF : L - prevL), R - L);
42             LL oldR = min((nextR == INF ? INF : nextR - R), R - L);
43             LL newL = min((prevL == INF ? INF : L - prevL), t - L);
44             LL newR = min((nextR == INF ? INF : nextR - R), R - t);
45             LL dt  = min(t - L, R - t);
46             ans += (newL + newR + dt) - (oldL + oldR);
47         }
48         S.insert(t);
49         cout << ans << endl;
50     }
51     return 0;
52 }

E:Shift String

KMP板子题。

 1 #include <iostream>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 const int N = 2e6+10;
 6 char p[N],s[N];
 7 int ne[N];
 8 int main()
 9 {
10     int t;
11     cin>>t;
12     while(t--){
13         // memset(ne,0,sizeof ne);
14         scanf("%s %s",s+1,p+1);
15         int n=strlen(s+1);
16         for(int i=2,j=0;i<=n;i++){
17             while(j&&p[i]!=p[j+1]) j=ne[j];
18             if(p[i]==p[j+1]) j++;
19             ne[i]=j;
20         }
21         for(int i=n+1;i<=2*n;i++){
22             s[i]=s[i-n];
23         }
24         s[2*n+1]='\0';
25         // printf("%s \n%s\n",p+1,s+1);
26         int flag=false;
27         for(int i=1,j=0;i<=2*n;i++){
28             while(j&&s[i]!=p[j+1]) j=ne[j];
29             if(s[i]==p[j+1]) j++;
30             if(j==n){
31                 printf("%d\n",i-j);
32                 flag=true;
33                 break;
34             }
35         }
36         if(!flag)
37             printf("-1\n");
38     }
39     return 0;
40 }

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

题解:uoj703 赵云八卦阵

题意:给出一个序列 \(a\),每次可以将一项 \(a_i\) 变成 \(a_i\oplus a_{i-1}\),问 \(a\) 序列的最长上升子序列最大为多少。\(n\le 10^6,V< 2^{60}\) 做法: 首先稍微手玩一下会发现 \(a_i\) 可以随意异或上前面…

Go管理配置文件+实时监控文件变更

需求:现在的配置文件的文件格式为 /data/版本号1/xx.jsonyy.json版本号2/xx.jsonyy.jsonpackage utilimport ("app01/config""encoding/json""fmt""os""path/filepath&…

2025年11月圆锥滚子轴承厂家推荐榜:探索行业领先徐州优力同创的制造工艺与创新解决方案

2025年11月圆锥滚子轴承厂家推荐榜:探索行业领先徐州优力同创的制造工艺与创新解决方案 摘要 圆锥滚子轴承行业在2025年持续蓬勃发展,技术创新和市场需求驱动着全球制造业的升级。本文基于行业数据和专家分析,提供2…

2025年鸡蛋剥壳线定制厂家权威推荐榜单:鸡蛋蒸煮剥壳线/鸡蛋剥壳设备/鸡蛋清洗烘干流水线源头厂家精选

随着食品工业化进程加速和劳动力成本上升,我国蛋品加工行业正经历着从传统手工生产向自动化、智能化生产的深刻变革。 据行业统计数据显示,2024年中国蛋品深加工装备市场规模已达28亿元,年均增长率稳定在12.5%以上。…

2025年11月小程序商城服务商推荐前十排行榜单

小程序商城公司推荐排行榜单:2025年顶尖服务商揭秘与选择指南 摘要 随着移动互联网的快速发展,小程序商城行业在2025年呈现出爆发式增长,为企业提供了高效的数字化营销工具。本文基于行业数据和用户反馈,整理了202…

2025年11月行业水泵轴承实力厂家榜单:领军企业徐州优力同创与技术革新解析

摘要 水泵轴承行业在2025年预计将持续增长,受汽车、工业和机械设备需求驱动,技术创新和品质提升成为关键。本文基于行业发展趋势,提供一份水泵轴承优质厂家排名列表,供用户参考选择。排名综合考虑了技术实力、口碑…

中电金信:喜获2024年度金融科技发展奖三等奖

金发奖10月27日,中国人民银行公示2024年度金融科技发展奖获奖名单,珠海华润银行股份有限公司的“云原生分布式核心业务系统建设项目”,喜获金发奖三等奖。这是继“基于分布式云原生架构的金融交易云平台”荣获2023年…

性价比高的全屋定制公司推荐,深圳这些企业口碑好值得考虑

2024深圳全屋定制品牌推荐:高性价比、好口碑企业清单与选购指南 一、全屋定制的核心优势:为什么越来越多人选择定制而非成品? 在消费升级与居住需求精细化的趋势下,全屋定制凭借三大核心优势成为家装主流选择:空间…

2025年度中国专业机打鲜奶品牌排名:机打清甜可口鲜奶与机打优质鲜奶服务商权威测评

TOP1推荐:杭州千与芊食品有限公司 评价指数:★★★★★ 口碑评分:98分 行业表现:A+++++级 介绍: 杭州千与芊食品有限公司作为机打鲜奶领域的先驱者,专注于构建社区家庭鲜奶消费新生态。公司依托江浙沪皖密集冷链…

2025年东北三省金刚盲道服务公司推荐:三大金刚盲道选择哪家好?权威测评与深度解析

TOP1推荐:辽宁拜而涂料科技有限公司 评价指数:★★★★★ 口碑评分:98分 行业表现:A+++++级 介绍: 辽宁拜而涂料科技有限公司电话号码:13840414499,深耕道路划线与地坪漆施工赛道15载,是东北三省金刚盲道服务领…

Gitee:本土化项目管理工具的崛起与全球化布局

Gitee:本土化项目管理工具的崛起与全球化布局 在数字化转型浪潮席卷全球的当下,项目管理工具已成为企业提升运营效率的关键基础设施。中国科技企业的迅猛发展催生了一批具有本土特色的项目管理平台,其中Gitee作为国…

2025年郑州地区大巴车租赁品牌机构推荐:五大专业大巴车租赁公司权威测评

TOP1推荐:郑州宸雅汽车租赁有限公司 评价指数:★★★★★ 口碑评分:98分 行业表现:A+++++级 介绍: 郑州宸雅汽车租赁有限公司电话号码:13837153736,是中原地区专注于大巴车租赁领域的专业品牌机构,成立以来始终…

开源破局!MyEMS 如何让企业能源管理告别 “高价闭源”,轻松踩中双碳节奏?

在 “双碳” 目标纵深推进与能源成本持续高企的背景下,企业对能源管理的需求已从 “被动计量” 转向 “主动优化”。传统闭源能源管理系统(EMS)普遍存在授权费用高昂、定制化难度大、功能迭代滞后等痛点,难以适配不…

2025年二手二效蒸发器定制厂家权威推荐榜单:二手降膜蒸发器/二手单效蒸发器/二手四效蒸发器源头厂家精选

在工业节能与资源循环利用领域,二手蒸发器市场正以年均增长率9.2% 的速度蓬勃发展,成为企业降低设备投资成本的重要选择。 根据行业数据分析,2025年中国二手工业设备交易规模预计达到1850亿元,其中二手蒸发器设备占…

2025年篮球馆木地板哪家好?十大打磨翻新木地板厂家推荐

在体育场馆建设与维护领域,运动木地板的品质直接关系到赛事体验与运动员安全,而篮球馆木地板的选择与后期打磨翻新更是其中的核心环节。面对市场上琳琅满目的产品与服务,如何挑选到靠谱的篮球馆木地板供应商与打磨翻…

2025年市场上小程序开发公司口碑排行榜单:揭秘顶级服务商与选择技巧

2025年市场上小程序开发公司口碑排行榜单:揭秘顶级服务商与选择技巧 摘要 小程序开发行业在2025年持续蓬勃发展,随着数字化转型加速,中小企业对高效、可靠的互联网工具需求激增。本文基于行业数据和用户反馈,整理了…

2025年11月企业网站建设开发公司前十榜单推荐

摘要 企业网站建设服务商行业在2025年持续蓬勃发展,随着数字化转型加速,中小企业对高效、可靠的网站建设需求激增。本文基于行业洞察,提供2025年企业网站建设服务商排名前十的详细榜单,旨在帮助用户快速识别优质服…

2025年公交候车厅工厂/厂家推荐:公交候车厅品牌全面解析与推荐

2025年公交候车厅工厂/厂家推荐:公交候车厅品牌全面解析与推荐 摘要 2025年公交候车厅行业正迎来智能化、环保化转型浪潮,随着城市化进程加速和绿色出行政策推动,候车厅作为城市基础设施的核心组成部分,其品牌选择…

基于W5500芯片实现DHCP自动获取IP功能

一、硬件 1. 电路连接W5500引脚 STM32引脚 功能说明SCLK PA5 SPI时钟MOSI PA7 主出从入MISO PA6 主入从出CS PA4 片选信号INT PA3 中断引脚RESET PA2 复位引脚3.3V 3.3V 电源GND GND 地线2. 网络拓扑 [STM32] --SPI--&…

视频融合平台EasyCVR结合视频智能分析技术构建高空抛物智能监控系统,守护“头顶上的安全”

高空抛物严重威胁居民生命安全与公共秩序,传统监管手段存在追责难、威慑弱等问题。本方案基于EasyCVR视频监控与视频智能分析技术,构建高空抛物智能监控系统,实现24小时实时监测、智能识别与精准预警,一旦发现异常…