惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
L
LINUX DO - 最新话题
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
月光博客
月光博客
博客园 - 叶小钗
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Tailwind CSS Blog
D
DataBreaches.Net
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
量子位
美团技术团队
Vercel News
Vercel News
Y
Y Combinator Blog
IT之家
IT之家
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
腾讯CDC
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
博客园 - 司徒正美
N
Netflix TechBlog - Medium
S
Schneier on Security
博客园 - 聂微东
U
Unit 42
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
雷峰网
雷峰网
Latest news
Latest news

某岛

AtCoder Beginner Contest 409 Luogu P5325. 【模板】Min_25 筛 UOJ #188. 【UR #13】Sanrd AtCoder Beginner Contest 371 AtCoder Beginner Contest 369 RPGMaker 2k3 百科 OneShot 的考古 2024“开创拓芯”游戏创享节的相关记录 CJ 回来后的戒断反应 Luogu P10221. [省选联考 2024] 重塑时光 Luogu P5308 [COCI2018-2019#4] Akvizna wqs 二分 歌唱王国 Lean 相关 BZOJ 3153. Sone1 新巴别塔 Sora 的想象与思考 Facebook Hacker Cup 2023 Round 1 AtCoder Beginner Contest 322 LLaMA 2 相关 HuggingFace AI Game Jam ACL 2023 Trans 相关… Luogu P2053. [SCOI2007] 修车 Luogu P1973. [NOI2011] NOI 嘉年华 Luogu P1933. [NOI2010] 旅行路线 Luogu P1954. [NOI2010] 航空管制 Luogu P2048. [NOI2010] 超级钢琴 Luogu P2046. [NOI2010] 海拔 Luogu P3227. [HNOI2013] 切糕 Luogu P8500. [NOI2022] 冒泡排序 Luogu P3629. [APIO2010] 巡逻 USACO 2018 February Contest, Gold Problem 2. Directory Traversal Luogu P3647. [APIO2014] 连珠线 IZhO 2017. Problem F. Hard route SPOJ TWOPATHS. Two Paths 换根 dp 洪恩电脑 —— 开天辟地 Facebook Hacker Cup 2022 Round 2 Codeforces Round #875 Luogu P5828 边双连通图计数 EC Final 拉格朗日反演定理 Luogu P5827. 点双连通图计数 无标号连通图 AtCoder Beginner Contest 284 Luogu P4708. 画画 Luogu P6295. 有标号 DAG 计数 BZOJ #2863. 愤怒的元首 HDU 3303. Harmony Forever 聊聊《明日方舟 Side Story 孤星》与《崩坏:星穹铁道》 SGU 208. Toral Tickets 后日谈,SHLUG 月度分享(上) 钢琴练习 EasyRPG x ChatGPT ControlNet 相关 The 1st Universal Cup, Stage 4, Ukraine EasyRPG —— Sliding Puzzle The 1st Universal Cup, Stage 3, Poland DP 优化练习 NOI 2009 TypeDB Forces 2023 Nas 买来做什么… Global Game Jam 2023 参赛纪录 The 1st Universal Cup, Stage 2, Hongkong The 1st Universal Cup, Stage 0, Nanjing Codeforces Round #850 舟游同人游戏 RM2k3 机能增强 —— EasyRPG Player 魔改版 《海之歌》设定与剧本 dfs 序求 lca Codeforces Round #844 P3768 简单的数学题 AtCoder Beginner Contest 281 ChatGPT 相关 AtCoder Grand Contest 059 AtCoder Beginner Contest 280 Codeforces Global Round 24 事实核查,以乌鲁木齐火灾为例 SPOJ MUSKET. Musketeers Pinely Round 1 Note about FTX Permutation ICPC World Final 2021 CodeTON Round 3 Codeforces Round #831 Educational Codeforces Round 138 NovelAI 法术指南 卡农 Educational Codeforces Round 135 Codeforces Round #819 瓦喵之夏 NOI 2022 Luogu P3765 总统选举 Luogu P3369 【模板】普通平衡树 网络国家 旋转卡壳 OFAC Sanctions && Tornado Cash BZOJ 1185. [HNOI2007]最小矩形覆盖 Codeforces Round #814
The 2023 ICPC World Finals Luxor
2024-04-23 · via 某岛

Table of Contents

首先恭喜 jly!!! Orz,然后怎么还没人写题解?我来对着标程口胡一下 = =。

Problem Y. Compression

相邻的相同元素都先压缩掉,然后因为只有..010101… 所以连续删除末尾偶数个字符,直到长度 <= 3 即可。

Problem P. Turning Red

第一反应解模线性方程,但是有一个灯至多只关联两个按钮这个额外条件,因而知道一个按钮的状态,就能立刻推出另一个,于是就变成签到题了。

我们将灯和按钮视作二分图,对于每个连通块,我们只需要枚举其中任意一个按钮的状态,其它按钮的状态就都能确定,在 dfs 的过程中看有没有矛盾即可,代码也很像二分图判定。

Problem W. Riddle of the Sphinx

脑经急转弯,先问 a,b,c,a+b+c,如果不自洽那么要么是前面 a,b,c 错,那么 a+b+c 错。此时我们再问 a+2b+3c,如果和 a,b,c 仍然不自洽那么说明其中有一个是假的,但此时我们可以通过后两问的线性组合,得到不依赖其中一个元素且百分百正确的询问,从而寻找出哪一个询问为假。

Problem Q. Doing the Container Shuffle

非常有趣的概率题,第一反应当然是利用期望的线性性质,每个轮次独立讨论,感觉像是某种逆序对的板子。

但是有个麻烦的点是这个移动的过程会有一些后效性,破坏之后的状态。。。
但是发现分类讨论之后,这个过程居然产生的影响也是局部的!直接取 min(cur, last) 进行每个轮次的询问即可 Orz。

Problem V. Three Kinds of Dice

看起来又是概率题,但实际是几何题。

首先考虑第三枚骰子只有一面的情况,我们枚举它的取值,就可以快速求出对另外两个骰子的胜率。然后 x、y 轴分别是对另外两个骰子的胜率,我们发现这些取值在平面上形成一些离散的点,而任意多面的情况,就是这些离散的点在平面上的线性组合所构成的区域,然后 lrj 曾经告诉我们,这个东西其实是一个凸包。最后只要在这个凸包上做两条射线即可。

Problem T. Carl’s Vacation

三分套三分。

Problem X. Quartets

看起来很像是并查集(食物链)什么的,但是好像是网络流。。反正我还没整明白囧。

Problem R. Zoo Management

说给你一个图,每个结点有一个标号,你唯一可以调整标号的方法,是沿着环旋转。
问是否能从初始状态旋转成目标状态。

总感觉在哪见过= =

首先桥边无法联络,所以先求 bcc,每个双联通分支独立讨论,用抽象代数的知识建模:
– 环,那么操作构成循环群,是最简单的情况,等价于判定字符串循环同构。。可以 https://oi-wiki.org/string/minimal-string/ (也可以后缀自动机)
– 仙人掌,那么构成对称群,直接返回 yes。
– 其它情况,那么构成交错群,求一下逆序对。

后面两种情况真的一点也不显然,问就是总感觉在哪见过。。。= =
https://en.wikipedia.org/wiki/Jordan%27s_theorem_%28symmetric_group%29

Problem S. Bridging the Gap

非常帅的一个题,过桥问题想必大家都见过,《大航海时代 IV》里还是哪一个遗迹的谜题我忘了,然后小时候看的一本吴文虎的图论小册子开篇也是这个谜题。这个题是原版问题的威力加强版,变成 n 个人,桥上最多能过 c 人,每个人给一个通过时间,看似修改不多,但难度一下子就上来了囧。

我对着 std 和题解视频(which is wrong)大眼瞪小眼想了好几天都没想通,最后还是羞耻的跑去看了论文,看到一半终于悟了。
首先 std 开幕雷击。。那个神似背包的(就是背包,还是完全背包) 的 cc 我就看不懂。。
这是因为我们对过河的结构缺乏 insight 导致的。。。论文大部分都在研究这个结构,并不断简化。。。

首先有一种最直觉的贪心。。就是最快的人反复过河去带其他人。。。
很遗憾,样例它就错了。。。我们发现样例里有最慢的两个人一起过河的情况。。这样次慢的那个人就可以避免成为瓶颈被统计。。。

但是我们还是先找找这个贪心有哪些地方是做的对了!!

首先。。回来的队伍一定是单独一个人。。。多回去没意义。(状态直接减半有没有!)
其次。。最快的那个人确实是最有成为火炬手的潜力的。。
所以我们先对所有人按速度从慢到快排序,总是先想办法把当前最慢的一批人送过河。。

经过一番挣扎。。我们发现实际上过河的队伍只有三种情况。。。
第一种。。当前 C 个最慢的人。。这 C 个人永远不会回来。。所以除非它们是最后一批,否则需要之前至少有一个先锋队成员在右岸。。(定义一下先锋队,就是过了河还会回来的同志,一定是速度最快的那一波人)
第二种,当前 C-i 个最慢的人,和 i 个最快的人,这 i 个先锋队成员里除了 1 个人要立刻返回之外,剩下 i-1 个成员之后可以当作资源再利用。。。而我们上面的贪心,实际恰好对应了每轮次都自产自销的情况。。
最后一种。。。当前最快的 i 个人。。。这种情况纯粹为了产生更多的先锋队。。

所以 dp[i][j] 就是,已经运完了前 i 人(从慢到快),且还倒欠 j 个先锋队的情况。。。。
这种通过电表倒转,引入未来状态的 dp 技巧。。我们也不是没见过。。对吧!(但是这个题里有正有负)(https://www.spoj.com/problems/ZUMA/

再回顾一下上面的三种情况。。。
1. 纯贫下中农队伍(透支 1 个先锋队)
2. i 个先锋队成员带领 C-i 个贫下中农组成的混合队伍,(积攒 i-1 个先锋队)
3. 纯 i 个先锋队成员组成的先锋队伍(积攒 i 个先锋队)

然后最后这个代码里的完全背包现在也很好丽洁了吧!就是对应上面分析的最后一种情况,因为这种情况对顺序不敏感,我们单独拎出来处理,极大的降低思考复杂度,然后 1 和 2 实际可以合并成一种状态转移来枚举,代码里的:
– mnc 就是最多倒欠几个先锋队可以 clear。(保证了复杂度是 O(n2))
– mxc 就是最多当前可攒多少个先锋队。(再多就溢出后面没必要了,算是个小优化)

Posted by xiaodao
Category: 日常