AtCoder Beginner Contest 383 Daiwa Securities Co. Ltd. Programming Contest 2024(AtCoder Beginner Contest 383) 其实感觉 E 还挺有意思。F 基本想对了,可惜差了一点。这两题过了很多人,还是我太菜了。 F - Diversity 有 nnn 件商品,第 iii 件商品价格为 PiP_iPi,价值为 UiU_iUi,颜色为 CiC_iCi。要求 2024-12-11 ACM #dp
AtCoder Regular Contest 189 (Div. 2) AtCoder Regular Contest 189 (Div. 2) B - Minimize Sum 给定一个序列 XXX,每次操作可以选择一个 iii,以 XiX_iXi 和 Xi+3X_{i+3}Xi+3 为中心,翻转 Xi+1X_{i+1}Xi+1 和 Xi+2X_{i+2}Xi+2。任意次操作后,求最小的 ∑Xi\sum X_i∑Xi。 有一个结论是:对数组进行差分,每次操 2024-12-11 ACM #图论 #线段树 #差分
AtCoder Beginner Contest 381 AtCoder Beginner Contest 381 E 题写了个幽默的整数三分,实际应该二分) F - 1122 Subsequence 注意到 aia_iai 的值域很小,考虑状压。当时不知为何总是想着对着序列扫一遍,这是不对的。 设 fsf_sfs 为能够得到状态 sss 的最短前缀长度,枚举是将哪个数字加入后得到的状态 sss 即可转移: fs=minj=1Wnxtnxtfi−2 2024-12-11 ACM #状压dp
AtCoder Beginner Contest 380 AtCoder Beginner Contest 380 啊啊啊,这场题还蛮简单的,我都会做。但因为在 F 题犯蠢了,结果 G 都没时间看。不过看了估计也敲不完吧,还是做得太慢了) F - Exchange Game T 和 A 玩一个游戏,轮流把一张牌放到桌上,然后可以选择一张桌上比它小的牌拿回去,不能操作的人输。 就是一个记忆化搜索,比较蠢的是我以为放牌必须要满足桌上有比它小的牌,然后就寄了。 2024-11-17 ACM #博弈 #逆序对
AtCoder Beginner Contest 321 SuntoryProgrammingContest2023(AtCoder Beginner Contest 321) E - Complete Binary Tree 有 TTT 组询问,每组询问 (N,X,K)(N,X,K)(N,X,K),询问在一棵有 NNN 个节点的二叉树上离节点 XXX 距离为 KKK 的节点数量。 距离节点 XXX 为 KKK 的点可以是:从 XXX 往下走 KKK 步 2024-11-14 ACM #状压dp #完全二叉树 #子集卷积
AtCoder Beginner Contest 379 Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379) F - Buildings 2 有一排楼房,第 iii 栋高度为 hih_ihi。有 qqq 组询问 (li,ri)(l_i,r_i)(li,ri),回答在 rir_iri 右侧有多少楼房可以被 lil_ili 和 rir_iri 看到。楼房 jjj 可以被 2024-11-10 ACM #单调栈 #轮廓线dp
AtCoder Beginner Contest 320 Toyota Programming Contest 2023#5(AtCoder Beginner Contest 320) F - Fuel Round Trip 驾车从坐标 x0x_0x0 开到 xnx_nxn 再原路返回,车的油箱容量为 hhh,初始油满。在 x1∼xn−1x_1\sim x_{n-1}x1∼xn−1 处各有一个加油站,每个加油站最多加油 fif_ifi,需要支付 2024-11-09 ACM #dp #网络流
AtCoder Beginner Contest 319 AtCoder Beginner Contest 319 F - Fighter Takahashi 给定一棵树,除根节点外每个节点有一个敌人或一颗药,同时有初始能力值 111。每当访问一个节点时,如果该节点是敌人,那么若能力值小于敌人的能力值 sis_isi,则失败,否则能力值加上 gig_igi;如果该节点是药,那么能力值乘上 gig_igi。问是否能够击败所有敌人。 首先策略非常明显: 2024-11-09 ACM #补图最短路 #状压dp #最短路计数
CSAPP 小结 花了大概一个寒假的时间,读完了 CSAPP 这本书,看完了这门课的视频,并且完成了部分家庭作业和七个 lab。 读完这本书有一些收获,让我接触到了很多未曾涉足的方面,让我明白自己还有哪些东西需要继续学习,算是为未来铺路的一门导论课程(不过好像有点晚了?)。 简要评价一下各个 lab 的体验: data lab 整数部分涉及到了很多位运算的技巧,有一道问题把我难住了。浮点数部分没有什么意思,基本按照 2024-02-17 system #CSAPP
CSAPP shelllab 虽然信号是一个比较陌生的话题,但其实大部分需要用的技巧都在课本和 handout 中给出了,所以并不是特别困难。 eval 基本可以参考书上的来写。只需要注意创建一个新进程时需要给它分配一个新的进程组,事实上 handout 中已经指出了这一点。 builtin_cmd 直接判断就可以了。比较让我纠结的是执行 quit 时是否需要先回收所有子进程,看起来好像不需要的样子。 do_bgfg 主要难度 2024-02-17 system #CSAPP #信号 #并发编程