NOI2023 前记录

6.20 考试

[洛谷 P6787]「SWTR-6」Snow Mountain

[洛谷 P4060] [Code+#1] 可做题

[洛谷 P4061] [Code+#1] 大吉大利,晚上吃鸡!

https://www.luogu.com.cn/blog/wsyhb/post-ti-xie-luo-gu-p4061-code1-tai-ji-tai-li-wan-shang-chi-ji-post

[洛谷 P4062] [Code+#1] Yazid 的新生舞会

6.21

[AGC023E] Inversions

https://www.luogu.com.cn/blog/174304/solution-at3956

6.23

[CF331E2] Deja Vu

状态机 DP。

https://www.luogu.com.cn/blog/sysblogs/solution-cf331e2

[CF643G] Choosing Ads

类摩尔投票。

https://www.luogu.com.cn/blog/68148/solution-cf643g

[CF679E] Bear and Bad Powers of 42

势能线段树。

https://www.luogu.com.cn/blog/AlexWei/solution-cf679e

6.24 考试

[清华集训2016] Alice 和 Bob 又在玩游戏

SG 函数 + 01Trie 合并。神仙题。

https://www.luogu.com.cn/blog/xxg/p6665-qing-hua-ji-xun-2016-alice-hu-bob-you-zai-wan-you-hu

[清华集训2016] 汽水

套路分数规划 + 点分治,分权值总和正负分类讨论。

https://blog.csdn.net/as_a_kid/article/details/88082480

[清华集训2016] 数据交互(没写)

https://www.luogu.com.cn/problem/solution/P6666

6.25

[AGC029F] Construction of a tree

Hall 定理 + 结论 + 二分图匹配。

https://www.luogu.com.cn/blog/LCA/solution-at4505

[ARC098F] Donation

老经典了。逆向思维 + Kruskal 重构树上 DP。

https://www.luogu.com.cn/blog/hegm/solution-at-arc098-d

[AGC023D] Go Home

递归的思想 + 模拟。这个策略很厉害。

https://www.luogu.com.cn/blog/wozaixuexi/solution-at3955

6.26

[CF505E] Mr. Kitayuta vs. Bamboos

逆向思维 + 堆模拟。这怎么想得到阿?

https://www.luogu.com.cn/blog/AutumnKite/solution-cf505e

[CF576D] Flights for Regular Customers

自己竟然差不多想出来了。震撼。

将边按照 \(d_i\) 从小到大排序,每次跑 floyd 得到这个时刻之前能够到达哪些点,然后更新邻接矩阵,BFS 得到到每个点的最小时间。如果此时能够到 \(n\) 那么直接输出就行了。

https://www.luogu.com.cn/blog/xht37/solution-cf576d

6.27

[AGC030D] Inversion Sum

咋和 CF258D 一模一样阿。。。这就是做过的题不会做了吗。震撼。

这道题多了一步总和转期望,就变成了概率 DP。忘记了。。。

https://www.luogu.com.cn/blog/LinearExpectation/solution-at4513

7.7

牛客练习赛 113 G - 小红的好子序列(hard)

https://ac.nowcoder.com/acm/contest/60282/G

枚举“好数组”中那一个出现次数不小于数组大小的一半的数,贡献是组合数形式。

由于不同的出现次数只有 \(\mathcal{O}(\sqrt n)\) 个,所以可以预处理这一些数作为上指标的组合数。

推一下式子,就很好做了。

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=62632597

7.8

牛客练习赛 113 H - 小红的括号串权值

https://ac.nowcoder.com/acm/contest/60282/H

建出表达式树。

容易发现肯定是对于同一层从右往左删,从最底层开始删。

那么可以用树形 DP 描述这个过程。

具体可以见题解:https://ac.nowcoder.com/discuss/1168402?type=101&order=0&pos=6&page=1&channel=-1&source_id=1

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=62634241

[CF538H] Summer Dichotomy

先把两个值设为 \(x=\max\{l_i\}\)\(y=\min\{r_i\}\)。然后再根据范围增大 \(x\) 或者减小 \(y\)

之后二分图判定。最后输出。证明见题解。

https://codeforc.es/problemset/submission/538/212756006

[CF53E] Dead Ends

数据范围小得离谱,考虑状压 DP。

\(f_{s,t}\) 表示已经加入树中的集合为 \(s\),叶子集合为 \(t\) 的方案数。

转移直接枚举一个节点接上去就行了。

但是显然会算重,不过可以发现的是方案数会被算叶子个数倍数次,将 DP 值除以叶子个数就行了。

https://codeforc.es/problemset/submission/53/212788256

[CF266E] More Queries to Array...

二项式定理拆开那个式子。

然后对于每一个 \(j\in[0,5]\),用线段树维护 \(\sum a_i(i+1)^j\)

https://codeforc.es/problemset/submission/266/212803794

posted @ 2023-06-25 21:49  csxsi  阅读(31)  评论(0)    收藏  举报