THUPC2024 初赛
《南开大学数分I月考III在初赛开始四十分钟时结束》
早晨试图速成泰勒展开失败了
考试前 zsy 把 yzf 接到学校了,应该是国赛后第一次见 yzf
考完试发现 yzf 已经买好 KFC 了/bx,但因此迷路了。。。正好三人都少打 1h
分头签到,我开到《转化》了,真不喜欢这题但只能硬着头皮写,WA 了之后还摇了 yzf 来看
然后跟榜做《套娃》和《二进制》。yzf 给我讲了半天《套娃》我也没太懂,丢给 zsy 了
《二进制》很快会了 \(\log^2\) 平衡树+哈希(实际上是单 \(\log\),因为删除只有 \(\frac{n}{\log n}\) 次)。现学了一下分块+SAM 感觉没前途,发现可以把平衡树局部拍平求哈希值来减小常数就去写了,还剩 2h。先写了个不拍平的,跑了大约 15s。。。加上拍平后一直 RE 到结束,自闭了
yzf 把《一棵树》过了/bx
loj6903「THUPC 2024 初赛」转化
赛时代码
#include <bits/stdc++.h>
#include <bits/extc++.h>
using namespace std; using namespace __gnu_pbds; using namespace __gnu_cxx;
#define For(i,x,y,...) for(int i=x,##__VA_ARGS__;i<=(y);++i)
#define rFor(i,x,y,...) for(int i=x,##__VA_ARGS__;i>=(y);--i)
#define Rep(i,x,y,...) for(int i=x,##__VA_ARGS__;i<(y);++i)
#define pb emplace_back
#define sz(a) int((a).size())
#define all(a) begin(a),end(a)
#define fi first
#define se second
typedef long long LL; typedef vector<int> Vi; typedef pair<int,int> Pii;
auto ckmax=[](auto &x,auto y) { return x<y ? x=y,true : false; };
auto ckmin=[](auto &x,auto y) { return y<x ? x=y,true : false; };
sfmt19937 mt(chrono::steady_clock::now().time_since_epoch().count());
int rnd(int l,int r) { return uniform_int_distribution<>(l,r)(mt); }
template<typename T=int>T read() { T x; cin>>x; return x; }
const int N = 351495;
int n;
LL a[N],b[N],c[N];
void sub1() {
LL sum = 0;
vector<pair<LL,LL>> d;
For(i,1,n)
if( a[i] ) sum += min(a[i],b[i]);
else if( b[i] ) d.pb(b[i],c[i]);
sort(all(d),greater<pair<LL,LL>>());
for(auto [b,c] : d) {
if( !sum ) break; --sum;
sum += min(1+c,b);
}
For(i,1,n)
if( a[i] ) cout<<a[i]+sum-min(a[i],b[i])<<' ';
else {
if( sum ) {
if( b[i] ) cout<<sum+1+c[i]-min(1+c[i],b[i])<<' ';
else cout<<sum+c[i]<<' ';
} else cout<<"0 ";
}
cout<<'\n';
}
void sub2() {
LL sum = 0, ans = accumulate(a+1,a+n+1,0ll);
vector<pair<LL,LL>> d;
For(i,1,n)
if( a[i] ) sum += min(a[i],b[i]);
else d.pb(b[i],c[i]);
sort(all(d),greater<pair<LL,LL>>());
for(auto [b,c] : d) {
if( !sum ) break; --sum;
ans += c, sum += min(1+c,b);
}
cout<<ans<<'\n';
}
signed main() {
#ifdef FT
freopen("in","r",stdin); freopen("out","w",stdout);
#endif
ios::sync_with_stdio(0);cin.tie(0);
cin>>n; For(i,1,n) cin>>a[i]; For(i,1,n) cin>>b[i];
For(i,1,n)
if( a[i] ) a[i] += read();
else cin>>c[i];
sub1(), sub2();
return 0;
}
LG9970 [THUPC 2024 初赛] 套娃
LG9968 [THUPC 2024 初赛] 二进制
赛时死因是重算哈希值时传的区间混了(整个区间还是左端点区间)。最后一版代码没在洛谷上交,不记得还有没有其他错了
哈希模 \(993244853\) 被卡了,自然溢出能过
THUPC2024 初赛的更多相关文章
- SCNU ACM 2016新生赛初赛 解题报告
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...
- 2016百度之星 初赛2A ABEF
只做了1001 1002 1005 1006.剩下2题可能以后补? http://acm.hdu.edu.cn/search.php?field=problem&key=2016%22%B0% ...
- 【生活没有希望】NOIP2010初赛 烽火传递 smartoj1475
整天初赛题做做,生活没有希望 用单调队列优化的dp 因为满足后来的总比先来的(在某些方面)更优 所以能用单调队列 n2变成n #include <cstdio> ],b[],c[]; in ...
- NOIP2014初赛分数线及金华上线名单
NOIP2014初赛分数线及金华上线名单 分数线:提高组81.5,普及组93 这分数线还能再高些吗?悲催的浙江. 金华上线普及组名单: 地市 姓名 学校 年级 参赛语种 成绩 金华 成浩鹏 稠州丹溪校 ...
- [NOIP2010初赛]烽火传递+单调队列详细整理
P1313 [NOIP2010初赛]烽火传递 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上 ...
- HDU 5690:2016"百度之星" - 初赛 All X
原文链接:https://www.dreamwings.cn/hdu5690/2657.html All X Time Limit: 2000/1000 MS (Java/Others) Mem ...
- HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4528 小明系列故事——捉迷藏 Time Limit: 500/200 MS (Java/O ...
- <路径算法>哈密顿路径变种问题(2016华为软件精英挑战赛初赛)
原创博客,转载请联系博主! 前言:几天前华为的这个软件精英(算法外包)挑战赛初赛刚刚落幕,其实这次是我第二次参加,只不过去年只入围到了64强(32强是复赛线),最后搞到了一个华为的一顶帽子(感谢交大l ...
- 【百度之星2014~初赛(第二轮)解题报告】Chess
声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载.可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...
- 动态规划-hdoj-4832-百度之星2014初赛第二场
Chess Problem Description 小度和小良近期又迷上了下棋.棋盘一共同拥有N行M列,我们能够把左上角的格子定为(1,1),右下角的格子定为(N,M).在他们的规则中,"王 ...
随机推荐
- python 二次封装logging,打印日志文件名正确,且正确写入/结合pytest执行,日志不输出的问题
基于之前日志问题,二次封装日志后,导致日志输出的文件名不对,取到的文件一直都是当前二次封装的log的文件名,基于这个问题,做了优化,详细看 https://www.cnblogs.com/cuitan ...
- 使用Redis+SpringBoot实现定时任务测试
Redis实现定时任务是基于对RedisKey值的监控 具体代码实现: 代码GitHub地址:https://github.com/Tom-shushu/Project 建一个SpringBoot项目 ...
- ZYNQ:加速 PetaLinux 工程编译、复制 PetaLinux 工程
PetaLinux介绍 PetaLinux是Xilinx基于Yocto推出的Linux开发工具.Yocto是业界主流的Linux发行版的构建工具,它不仅可以从源代码编译Linux 内核,还可以编译Li ...
- 题解:洛谷 P1137 旅行计划
标签:图论,拓扑,dp 题意 给定一张 \(n\) 个点 \(m\) 条边的 DAG,对于每个 \(i\),求以它为终点最多经过多少个点? 思路 由于是 DAG,求的是终点 \(i\) 经过的所有点, ...
- Spark3学习【基于Java】5. Spark-Sql联表查询JOIN
大数据场景下,联表远比微小型关系型数据库中使用的频繁.网上有句话: 传统数据库单机模式做Join的场景毕竟有限,也建议尽量减少使用Join. 然而大数据领域就完全不同,Join是标配,OLAP业务根本 ...
- Windows 10 LTSC启用Microsoft Store的方法
新建msreg.bat文件,并编辑内容如下: ========== @echo off :: BatchGotAdmin :------------------------------------- ...
- 折腾指南: 将光猫改造成你的NAS,WebDAV+网页文件管理器vList5+natmap
原文:https://hi.imzlh.top/2024/07/18.cgi (预发布) 很久没有写完全折腾类文章了,这还得追溯到上次折腾S905L3A那会. 这篇文章很长,但是是小白级包学会. 为什 ...
- [oeasy]python0117 文字的演化_埃及圣书体_象形文字_楔形文字
埃及圣书体 回忆上次内容 两河流域 苏美尔文明 所使用的 楔形文字 不是象形文字 添加图片注释,不超过 140 字(可选) 楔形文字的字型 究竟是怎么来的呢? 巴别塔 苏美尔的 ...
- 整数-笔记C
实际情况也确实如此,C语言并没有严格规定 short.int.long 的长度,只做了宽泛的限制: short 至少占用 2 个字节. int 建议为一个机器字长.32 位环境下机器字长为 4 字节, ...
- .NET 控件转图片
Windows应用开发有很多场景需要动态获取控件显示的图像,即控件转图片,用于其它界面的显示.传输图片数据流.保存为本地图片等用途. 下面分别介绍下一些实现方式以及主要使用场景 RenderTarge ...