当前位置: 首页 > news >正文

被称作遗憾之物 爬满了脊骨 又把控了痛楚 被称作无用之物 修筑了唯一的通路

test30

前两题都 0pts,nbm(?

2-A 飞船制造 (spaceship.cpp)

怎么有傻子没开 c++11 写了 rank 然后 re 惹 /fad

考虑依次枚举 \(s=i+j+k\),计算出 \(s\) 一定的方案数就能确定唯一的 \(s\),方案数计算好像只能考虑背包。然后依次枚举 \(i\),计算出 \(s,i\) 一定时 \((j,k)\) 的方案数就能确定唯一的 \(i\),方案数可以考虑 \(j\) 的上下界。然后依次枚举 \(j\),不断增加排名直到符合题目要求即可。

#include<bits/stdc++.h>
#define int long long
#define up(i,l,r) for(int i=l; i<=r; ++i)
#define dn(i,r,l) for(int i=r; i>=l; --i)using namespace std;const int N=3000005;int n, rk, f[3][N];signed main() {
//	freopen("1.txt","r",stdin);freopen("spaceship.in","r",stdin);freopen("spaceship.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> n >> rk;up(i,1,3*n) f[0][i]=f[0][i-1]+(i<=n);up(i,1,3*n) f[1][i]=f[0][i-1]-(i-n-1>=0?f[0][i-n-1]:0);up(i,1,3*n) f[1][i]+=f[1][i-1];up(i,1,3*n) f[2][i]=f[1][i-1]-(i-n-1>=0?f[1][i-n-1]:0);int counter=0;up(s,3,3*n) {int val=f[2][s];if(counter+val>=rk) { up(i,1,n) {int l=max(1ll,s-i-n);int r=min(n,s-i-1);if(l<=r) {if(counter+r-l+1>=rk) {up(j,1,n) {if(1<=s-i-j&&s-i-j<=n) {if(++counter==rk) {cout << i << ' ' << j << ' ' << s-i-j << '\n';return 0;}}}}counter+=r-l+1;}}} counter+=val;}return 0;
} 

2-B 机器人 (robot.cpp)

怎么有人下发错误的 statement,谋害本可使爆零,以及这个原题“阻碍关系具有传递性”想何出什么样的意味(?

发现 \(n\leq 1000\),努力去想简单暴力的办法,考虑所有的可能的阻碍对 \((i,j,t)\) 表示 \(i\) 可能在 \(t\) 时刻阻碍 \(j\),然后去顺次考虑每一个点对生不生效。因为题目给了一些互不相等所以不用去纠边角情况。发现只要动态维护 \(u\) 有没有被阻碍、以及被阻碍到哪个地方就能判断生效情况以及更新阻碍情况,不尽之处皆是一些简单分讨(?

#include<bits/stdc++.h>
#define int long long
#define up(i,l,r) for(int i=l; i<=r; ++i)
#define dn(i,r,l) for(int i=r; i>=l; --i)
#define pb push_backusing namespace std;const int N=1005, M=1000005;int n, m, x[N], y[N], tag[N], in[N], Ans[N];
vector<int> to[N];
char opt[N];
struct node {int i, j, t;bool operator<(const node &rhs) const { return t<rhs.t; }
} p[M];void dfs(int x) {for(int y:to[x]) dfs(y), Ans[x]+=Ans[y]+1;
}signed main() {freopen("robot.in","r",stdin);freopen("robot.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> n;up(i,1,n) cin >> opt[i] >> x[i] >> y[i];up(i,1,n) {if(opt[i]!='N') continue;up(j,1,n) if(opt[j]=='E') {if(x[j]>x[i]||y[j]<y[i]) continue;int ti=y[j]-y[i], tj=x[i]-x[j];if(ti==tj) continue;if(ti<tj) p[++m]=(node){i,j,tj};if(tj<ti) p[++m]=(node){j,i,ti};}}sort(p+1,p+1+m);up(u,1,m) {int i=p[u].i, j=p[u].j;
//		cout << "breat " << i << ' ' << j << '\n';if(!tag[j]&&(!tag[i]||opt[i]=='N'&&y[j]<=y[i]+tag[i]||opt[i]=='E'&&x[j]<=x[i]+tag[i])) {	tag[j]=p[u].t, to[i].pb(j), ++in[j];}}up(i,1,n) if(!in[i]) dfs(i);up(i,1,n) cout << Ans[i] << '\n';return 0;
}

2-C 总统大选 (election.cpp)

大样例全过挂分的来了。

http://www.jsqmd.com/news/24927/

相关文章:

  • neovim在windwos11下snack.nvim的问题
  • 完整教程:Java 集合 “List + Set”面试清单(含超通俗生活案例与深度理解)
  • 禁用 IPython 历史记录 history.sqlite
  • Luogu P7914 [CSP-S 2021] 括号序列 题解 [ 蓝 ] [ 区间 DP ] [ 前缀和优化 ] [ 调试技巧 ]
  • 扩展BaseMapper类 - 详解
  • 《程序员修炼之道:从小工到专家》前五分之二观后感
  • 矩阵快速幂章节笔记(这里主要介绍的是我的错题)
  • 实验二 现代C++编程初体验
  • P5322 [BJOI2019] 排兵布阵
  • 题解:P9292 [ROI 2018] Robomarathon
  • [题解]P5322 [BJOI2019] 排兵布阵
  • 考前打印
  • 申威服务器安装Nacos 2.0.3 RPM包详细步骤(Kylin V10 sw_64架构)​附安装包
  • ZKY精选冲刺省选国赛仿真训练题
  • MySQL 查询与更新语句执行过程深度解析:从原理到实践​ - 指南
  • ZKY精选冲刺省选国赛技巧训练题
  • 逆向基础--编码(001)
  • 20251027 - 倍增 ST表
  • 周康阳精选冲刺省选国赛思维训练题
  • Luogu P7913 [CSP-S 2021] 廊桥分配 题解 [ 绿 ] [ 贪心 ] [ 前缀和 ] [ STL ]
  • 10-27 CSP 赛前比赛记录
  • P3939 数颜色
  • 完整教程:Docker 搭建 Nginx 并启用 HTTPS 具体部署流程
  • AI开发微信小程序-有感
  • 价值流智能时代:DevOps平台如何成为企业高效交付的核心引擎? - 教程
  • 2025年压力容器品牌综合实力排行榜
  • 2025年压力容器厂家综合评测与选择指南
  • 2025年口碑好的压力容器工厂/厂家前十强
  • 科幻——面包
  • 2025年中国钢结构码垛机制造商Top 5排名解析