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).在他们的规则中,"王 ...
随机推荐
- 配置pod拉取harbor容器镜像仓库私有镜像:secret保存账号密码
目录 一.系统环境 二.前言 三.Docker-Registry类型的Secret简介 四.镜像仓库简介 五.搭建Harbor容器镜像仓库 5.1 安装Harbor 5.2 创建项目 5.3 推送镜像 ...
- 我又学会了使用Range实现网络文件下载的断点续传
目录 前言 1.Range请求头 1.1.概述 1.2.使用限制 1.3.范围请求 1.4.预防资源变更 2.断点续传下载实现 2.1.流程设计 2.2.代码实现 2.3.运行结果 3.RandomA ...
- OpenSSL静态库交叉编译
一.编译前环境准备 使用的内核:4.15.0-118-generic(命令:uname -r可以查看) 交叉编译器:aarch64-linux-gnu-gcc openssl源码:openssl-1. ...
- docker部署微服务之注册中心
1.首先要对对应服务的pom.xml文件进行修改,添加如下配置. 2.在微服务的pom.xml目录下建立Dockerfile文件 3.在Dockerfile当前目录下执行mvn clean insta ...
- ubuntu16.04 安装 eclips c/c++
前言 最近需要在ubuntu16上使用eclips编译c,尝试了apt安装和官网最新包安装甚至应用商店安装,效果都不太理想,现在把我的安装方法记录一下. 正文 !!!前提,已经自己配置好了java8的 ...
- PS工具的基本使用
常见的图片格式: 切片工具的使用 1.用切片选中图片 2.导出切片 3.切片悬着工具 可以选择指定 切片框 删除. 点击图层 切图 清除切片 基于参考线的切片 切图插件Cutterman
- oeasy教您玩转vim - 14 - # 行头行尾
行头行尾 回忆上节课内容 我们这次了解了 大词 和 小词 小词 就是我们常规意义的词 被 =." 等标点分开的词 大词 里面包括了 =." 等标点 只能被空格.tab.换行分割 W ...
- 如何解决 CentOS 7 官方 yum 仓库无法使用的问题
一.背景介绍 2024 年 7 月 1 日,在编译基于 CentOS 7.6.1810 镜像的 Dockerfile 过程中,执行 yum install 指令时,遇到了错误:Could not re ...
- 题解:CF1984B Large Addition
题解:CF1984B Large Addition 题意 判断 \(n\) 是否是两个位数相同的 \(large\) 数的和. 思路 有以下三种证明方法: 最高位为 \(1\),因为两个 \(larg ...
- NOIP2022退役记
我是青岛西海岸新区的一名oier,qxyz(xhayz)的. (其实也不知道算不算得上真正的oier) 已经高二了,是最后一次noip了,必须写点什么记录一下了吧,这样至少可以向世界留下一点痕迹:这个 ...