《南开大学数分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 初赛的更多相关文章

  1. SCNU ACM 2016新生赛初赛 解题报告

    新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...

  2. 2016百度之星 初赛2A ABEF

    只做了1001 1002 1005 1006.剩下2题可能以后补? http://acm.hdu.edu.cn/search.php?field=problem&key=2016%22%B0% ...

  3. 【生活没有希望】NOIP2010初赛 烽火传递 smartoj1475

    整天初赛题做做,生活没有希望 用单调队列优化的dp 因为满足后来的总比先来的(在某些方面)更优 所以能用单调队列 n2变成n #include <cstdio> ],b[],c[]; in ...

  4. NOIP2014初赛分数线及金华上线名单

    NOIP2014初赛分数线及金华上线名单 分数线:提高组81.5,普及组93 这分数线还能再高些吗?悲催的浙江. 金华上线普及组名单: 地市 姓名 学校 年级 参赛语种 成绩 金华 成浩鹏 稠州丹溪校 ...

  5. [NOIP2010初赛]烽火传递+单调队列详细整理

    P1313 [NOIP2010初赛]烽火传递 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述   烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上 ...

  6. HDU 5690:2016"百度之星" - 初赛 All X

    原文链接:https://www.dreamwings.cn/hdu5690/2657.html All X Time Limit: 2000/1000 MS (Java/Others)    Mem ...

  7. HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4528 小明系列故事——捉迷藏 Time Limit: 500/200 MS (Java/O ...

  8. <路径算法>哈密顿路径变种问题(2016华为软件精英挑战赛初赛)

    原创博客,转载请联系博主! 前言:几天前华为的这个软件精英(算法外包)挑战赛初赛刚刚落幕,其实这次是我第二次参加,只不过去年只入围到了64强(32强是复赛线),最后搞到了一个华为的一顶帽子(感谢交大l ...

  9. 【百度之星2014~初赛(第二轮)解题报告】Chess

    声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载.可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...

  10. 动态规划-hdoj-4832-百度之星2014初赛第二场

    Chess Problem Description 小度和小良近期又迷上了下棋.棋盘一共同拥有N行M列,我们能够把左上角的格子定为(1,1),右下角的格子定为(N,M).在他们的规则中,"王 ...

随机推荐

  1. Jemter代理服务器录制脚本,优化后形成性能测试场景

    在进行性能测试(压力.负载)等,先要有对应的测试场景,比如添加功能:要先登录成功,然后调用添加接口,输入添加的内容,才可以添加成功.那么可以通过Jemter代理服务器,设置代理,打开测试的网站,录制脚 ...

  2. Django项目结构和子应用介绍

    项目结构 1.1.1 app项目配置 文件存放settings.py.urls.py.wsgi.py等 1.1.2 子应用配置 Migrations: 数据库模型的脚本,包括新增或更新了models的 ...

  3. Wireshark找不到接口

    在管理员权限下的命令行窗口输入net start npf即可. 注意是管理员权限下的,否则会拒绝访问.

  4. linux中cp复制时处理软链接的两种方式

    linux中cp复制时处理软链接的两种方式 cp -r -L 复制原始文件 cp -r -P 复制软链接本身

  5. 专用M4F+四核A53,异构多核AM62x让工业控制“更实时、更安全” Tronlong创龙科技5 秒前 1 德州仪器 TI芯片

    Cortex-M4F + Cortex-A53异构多核给工业控制带来何种意义? 创龙科技SOM-TL62x工业核心板搭载TI AM62x最新处理器,因其Cortex-M4F + Cortex-A53异 ...

  6. 使用flume将数据sink到HBase

    ===========>先创建Hbase表和列族<================案例1:源数据一行对应Hbase的一列存储(hbase-1.12没有问题)================ ...

  7. docker-compose的使用和常用命令

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化. ...

  8. Java 对象转XML xStream 别名的使用 附下载方式

    下载方式 Maven方式 pom.xml中 <dependency> <groupId>xstream</groupId> <artifactId>xs ...

  9. django 计算两个TimeField的时差

    在 Django 中,你可以使用 datetime 模块来计算两个 TimeField 字段的时间差.以下是一个示例: from datetime import datetime, timedelta ...

  10. [oeasy]python0007-Guido的简历

    ​ 执行 esc 退回到正常模式 ​ 编辑 esc退出插入模式 准备底行命令模式运行当前py文件 保存执行 ​:w|!python3 %​ 保存并用 python3 解释当前程序(%) ​ 编辑 可以 ...