尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

AtCoder Beginner Contest 423

AtCoder Beginner Contest 423
📅 发布时间:2026/6/18 22:29:29

D - Long Waiting

三个优先队列

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "YES" << endl
#define no cout << "NO" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long long
#define piii pair<pii,int>
const int N=300010;
int n,k;int a[N],b[N],c[N],ans[N];
void solve(){cin>>n>>k;priority_queue<int,vector<int>,greater<int>> pq;priority_queue<piii,vector<piii>,greater<piii>> wat;//等待,数量priority_queue<pii,vector<pii>,greater<pii>> lev;for(int i=1;i<=n;i++){cin>>a[i]>>b[i]>>c[i];pq.push(a[i]);wat.push({{a[i],c[i]},i});}int sum=0;while(!pq.empty()){int t=pq.top();pq.pop();while(!lev.empty()){auto [t1,id]=lev.top();if(t1>t)break;sum-=c[id];lev.pop();}while(!wat.empty()){auto tem=wat.top();int t1=tem.ft.ft;int num=tem.ft.se;int id=tem.se;if(a[id]>t)break;if(num+sum>k)break;sum+=num;ans[id]=t;lev.push({t+b[id],id});pq.push(t+b[id]);wat.pop();}}for(int i=1;i<=n;i++){cout<<ans[i]<<'\n';}
}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}

E - Sum of Subarrays

数学,推式子,前缀和

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "YES" << endl
#define no cout << "NO" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long longconst int N=300010;
int n,q;int a[N],s1[N],s2[N],s3[N];void solve(){cin>>n>>q;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){s1[i]=s1[i-1]-i*i*a[i];s2[i]=s2[i-1]+i*a[i];s3[i]=s3[i-1]+a[i];}while(q--){int l,r;cin>>l>>r;int ans=0;ans+=s1[r]-s1[l-1];ans+=(l+r)*(s2[r]-s2[l-1]);ans+=(-l*r-l+r+1)*(s3[r]-s3[l-1]);cout<<ans<<'\n';}}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}

F - Loud Cicada

类似百度之星的跑步,每个i前y年爆发年数y/a[i]取地板
每个集合前y年爆发年数y/lcm
枚举集合,
sz<m,忽略
sz>=m,

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "YES" << endl
#define no cout << "NO" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long longint n,m,y;int a[21];
int C[21][21];int gcd(int x,int y){return y?gcd(y,x%y):x;
}
__int128 lcm(int x,int y){int gcdd=gcd(x,y);return x/gcd(x,y)*y;
}
int get(int sta){int res=0;for(int i=0;i<n;i++){if(sta&(1<<i)){res++;}}
return res;
}ll C(ll a,ll b){if (b > a) return 0;ll res = 1;
for (ll i = 1, j = a; i <= b; i ++, j -- ){res = res * j ;res = res /i;}
return res;
}
void solve(){cin>>n>>m>>y;for(int i = 0; i <= n; i++){C[i][0] = C[i][i] = 1;for(int j = 1; j < i; j++)C[i][j] = C[i-1][j-1] + C[i-1][j];}for(int i=0;i<n;i++)cin>>a[i];int ans=0;
for(int sta=0;sta<(1<<n);sta++){int sz=get(sta);if(sz<m)continue;else {__int128 lcmm=1;for(int i=0;i<n;i++){if(sta&(1<<i))lcmm=lcm(lcmm,a[i]);}int cnt=(int)((__int128)y/lcmm);if((sz-m)&1)ans-=C[sz][m]*cnt;else ans+=C[sz][m]*cnt;}
}
cout<<ans<<'\n';
}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}

相关新闻

  • Java25新特性
  • US$18 3 Button Smart Card For Hyundai 433.92MHz
  • 题解:P6798 「StOI-2」简单的树

最新新闻

  • 高中/高三/高考 回忆录
  • 从晶体管到可编程单元:深入解析FPGA芯片的架构层次与设计哲学
  • 02 代码整洁之道阅读笔记
  • 2026年卫生间漏水维修服务适配指南:昆山鼎壹万防水补漏公司及苏州本地服务商综合适配解析 专业防水公司排名推荐(2026年6月防水补漏最新TOP权威排名) - 鼎壹万修缮说
  • Onekey完整教程:一键解锁Steam游戏DLC的终极方案
  • 2026年南京知名3D效果图制作公司大盘点,你知道几家?

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号