thupc2023游寄

Posted gmh77

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thupc2023游寄相关的知识,希望对你有一定的参考价值。

5.26 day-1

下午咕了体育课和心理课去高铁站,8点的高铁

5.27 day0

早上到了北京,在地铁站旁边的酒店放下东西

为了给zzz省钱所以住了家庭房(1小床+1大床)……
(结果一个人睡了小床,可喜可贺

之后先摸了一上午再前往thu,中午吃了个汉堡


下午去试机,之后等到5点见到了597
(以及见到了597十分炸裂的头型

之后和597去高级餐厅等dyp,5点半dyp来了,吐槽选的地方又贵又难吃

晚上拉着597去看了dyp的合唱团表演,前面越听越困但后面突然就精神了


走在回酒店的路上,有很多感慨其实并没有

想起之前高二thupc最离谱的事情,就是大晚上骑车1h走了几公里回酒店,期间把lyx关在了外面

先不写了,以后再说

5.28 day 1

榜单:https://rank.thupc.thusaac.com/

难蚌日


10点比赛,9点出的酒店,一番折腾之后压线进赛场

然后电脑打不开,没签到拿密码条
然后身份证丢了,在门口楼梯下面捡到了

折腾回来,M题输出柯洁解决

然后来构造H题,没想到直接用二进制+lowbit,写了个dp来一次分成3块,1大2小,大向小连1,小之间连2,然后递归
感受一下没问题,写了构造过了

然后队友开始疯狂演戏,J题和lyb一起想的,他想到了从下往上维护每个点的范围,然后向上合并

我:我觉得很对
lyb:(开始写)
(看着他敲键盘一个一个字敲非常捉急
0.5h之后:
lyb:怎么还是不对
我:(看代码)
我:你的上界哪去了?
lyb:什么上界,只用维护下界就好了吧
我:???
(一番交流之后)
lyb:OK,我懂了

然后又敲了半天才过了……

接下来wjt写D,他说直接枚举分母就好了,我没太听懂题目但感觉没问题,就是暴力题
然后他算分子之后没有震荡一下来考虑左右的可能性,调了1.5h才调出来

不过之后他们把B搞出来了,可喜可贺

搞完B之后刚好封榜(比赛延迟5min,封榜也延迟了),然后我开始写A……
(前面几个小时我在都想A,想了一些时间但也不算太慢,结果一直在等他们写BDJ

最后是dp+建图求dp值跑dij,t了几发之后改了把0边一次性bfs
这样理论就是正解,然后不出意外的出意外了
总之就是最后没调出来,我也一起演了
最后lyb还开了K,两边轮着写都没搞定
(结束时发现建图的边数可能不太对劲,之后有空看看……


总之在三人不懈的互演下,成功获得了rk75的好成绩,比高二时翻了一倍

下午讲题,A题dij,F题线性基+随机数据下暴力,K题数位dp,都是可以做的题

之后去地下(?)餐厅吃了顿好的,thu的酸奶确实好喝

dyp:来thu一定要喝酸奶和酸梅汤

8点的高铁,上车之后手机又丢了,可喜可贺

10点比赛,9点出的酒店,一番折腾之后压线进赛场
然后电脑打不开,没签到拿密码条
然后身份证丢了,在门口楼梯下面捡到了

上午丢身份证,下午丢脑子,晚上丢手机

比较神奇的是,我是躺在卧铺上听歌时发现的手机消失了,然后打开蓝牙还能连上,说明手机没有出房间
然后找了1h之后发现是lyb拿了,十分甚至九分神必

5.29 day2

溜了溜了,回去上早十

总结

个人实力不够,队友演的时候带不动,同时自己也在演

THUPC2023 初赛 背包

[THUPC 2023 初赛] 背包

题目描述

本题中,你需要解决完全背包问题。

n n n 种物品,第 i i i 种物品单个体积为 v i v_i vi、价值为 c i c_i ci

q q q 次询问,每次给出背包的容积 V V V,你需要选择若干个物品,每种物品可以选择任意多个(也可以不选),在选出物品的体积的和恰好 V V V 的前提下最大化选出物品的价值的和。你需要给出这个最大的价值和,或报告不存在体积和恰好为 V V V 的方案。

为了体现你解决 NP-Hard 问题的能力, V V V 会远大于 v i v_i vi,详见数据范围部分。

输入格式

第一行两个整数 n , q n,q n,q,表示物品种数和询问次数。

接下来 n n n 行每行两个整数 v i , c i v_i,c_i vi,ci 描述一种物品。

接下来 q q q 行每行一个整数 V V V 描述一次询问中背包的体积。

输出格式

对于每组询问输出一行一个整数。若不存在体积和恰好为 V V V 的方案,输出 -1;否则输出最大的选出物品的价值和。

样例 #1

样例输入 #1

2 2
6 10
8 15
100000000001
100000000002

样例输出 #1

-1
187500000000

提示

样例解释 1

第二组询问的最优方案为:选择 3 3 3 个物品 1 1 1 12499999998 12499999998 12499999998 个物品 2 2 2

子任务

对于所有测试数据, 1 ≤ n ≤ 50 , 1 ≤ v i ≤ 1 0 5 , 1 ≤ c i ≤ 1 0 6 , 1 ≤ q ≤ 1 0 5 , 1 0 11 ≤ V ≤ 1 0 12 1 \\le n \\le 50, 1 \\le v_i \\le 10^5, 1 \\le c_i \\le 10^6, 1 \\le q \\le 10^5, 10^11 \\le V \\le 10^12 1n50,1vi105,1ci106,1q105,1011V1012

题目来源

来自 2023 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2023)初赛。

题解等资源可在 https://github.com/THUSAAC/THUPC2023-Pre 查看。

(from luogu)

考虑 c p / v p c_p/v_p cp/vp 最大的item ( v p , c p ) (v_p,c_p) (vp,cp),最后的答案一定是尽量多取
i i i足够大时, f i + v p = f i + c p f_i+v_p=f_i+c_p fi+vp=fi+cp
考虑同余最短路,模 v p v_p vp
发现无法定义图中边的边权,最后会陷入无限负环,无法最短路。

f i = g i m o d    m + ⌊ i v p ⌋ ∗ c p f_i=g_i \\mod m + \\lfloor \\frac i v_p \\rfloor *c_p fi=gimodm+vpicp
对于 g i g_i gi求最短路
对于 f i f_i fi取物品 ( v x , c x ) (v_x,c_x) (vx,cx)并转移到 f j f_j fj
等价于 f i + c x = g i m o d    m + ⌊ i v p ⌋ ∗ c p + c x f_i+c_x=g_i \\mod m + \\lfloor \\frac i v_p \\rfloor *c_p+c_x fi+cx=gimodm+vpicp+cx
= g i m o d    m + c x + ( ⌊ i v p ⌋ − ⌊ i + v x v p ⌋ ) c p + ⌊ i + v x v p ⌋ ∗ c p =g_i \\mod m +c_x + (\\lfloor \\frac i v_p \\rfloor -\\lfloor \\frac i+v_x v_p \\rfloor )c_p+ \\lfloor \\frac i+v_x v_p \\rfloor *c_p =gimodm+cx+(⌊vpivpi+vx⌋)cp+vpi+vxcp

转移到 g j m o d    m + ⌊ j v p ⌋ ∗ c p g_j \\mod m + \\lfloor \\frac j v_p \\rfloor *c_p gjmodm+vpjcp

#include<bits/stdc++.h> 
using 

以上是关于thupc2023游寄的主要内容,如果未能解决你的问题,请参考以下文章

THUPC2023 初赛 背包

游记2022 CSP-S 游寄

Thupc礼?

THUPC2021游记

LOJ6387 [THUPC2018] 绿绿与串串 manacher

P7610 [THUPC2021] 群星连结