HZOJ
写在前面
NOIP AK me. 全是唐题。如此模拟赛,何以NOIP?大概就是所有时间拿去攻T1了吧。然后暴力也懒得打了。
《Blueming》
‘뭐해?‘라는 두 글자에
'在干嘛?'这几个字中
‘네가 보고 싶어’ 나의 속마음을 담아 우
其实藏着“想见你”我的私心 woo
이모티콘 하나하나 속에
一个个表情里
달라지는 내 미묘한 심리를 알까 우
不断变化的我微妙的心理你知道吗?woo
아니 바쁘지 않아 nothing no no
不是 也不忙 nothing no no
잠들어 있지 않아 insomnia nia nia
睡不着 insomnia nia nia
지금 다른 사람과 함께이지 않아
现在没和别人在一起
응, 나도 너를 생각 중
嗯,我也在想你中
우리의 네모 칸은 bloom
我们的四角框 bloom
엄지손가락으로 장미꽃을 피워
用大拇指绽放玫瑰花
향기에 취할 것 같아 우
好似沉醉在香气之中 woo
오직 둘만의 비밀의 정원
只有我们知道的秘密花园
I feel bloom I feel bloom I feel bloom
I feel bloom I feel bloom I feel bloom
너에게 한 송이를 더 보내
给你再送去一朵
밤샘 작업으로 업데이트
通宵工作 update
흥미로운 이 작품의 지은이 that’s me 우
充满趣味的这作品作者 that’s me woo
어쩜 이 관계의 클라이맥스
大概是这段关系的高潮
2막으로 넘어가기엔 지금이 good timing 우
2幕已过 现在是good timing
같은 맘인 걸 알아 realize la lize
我知道我们拥有同样的心意 realize la lize
말을 고르지 말아 just reply la la ly
就不要挑选言语了just reply la la ly
조금 장난스러운 나의 은유에
现在好像开玩笑般 我的隐喻
네 해석이 궁금해
好奇你的解说
우리의 색은 gray and blue
我们的颜色是 gray and blue
엄지손가락으로 말풍선을 띄워
用大拇指飘起话语的气球
금세 터질 것 같아 우
最近好像已经要爆炸了 woo
호흡이 가빠져 어지러워
呼吸急促 开始晕眩
I feel blue. I feel blue. I feel blue.
I feel blue. I feel blue. I feel blue.
너에게 가득히 채워
装满了你
띄어쓰기없이보낼게사랑인것같애
就像是不断句传送过去的爱一样
백만송이장미꽃을, 나랑피워볼래?
要和我一直绽放百万朵玫瑰吗?
꽃잎의 색은 우리 마음 가는 대로 칠해
花瓣的颜色随着我们的心染上
시들 때도 예쁘게
即使凋谢也一样美丽
우리의 네모 칸은 bloom
我们的四角框 bloom
엄지손가락으로 장미꽃을 피워
用大拇指绽放玫瑰花
향기에 취할 것 같아 우
好似沉醉在香气之中 woo
오직 둘만의 비밀의 정원
只有我们知道的秘密花园
I feel bloom I feel bloom I feel bloom
I feel bloom I feel bloom I feel bloom
너에게 한 송이를 더 보내
给你再送去一束
A. 汉谟拉比(crazy)
打开贝塔 就感觉凉,入官就感觉到热。全家一起 唱《贝如塔》,一定会大火特火。————《Crβzy》by Lady Nana
样例都过不了的 \(O(nma_{max})\) 给我放过去了。简化题意是要将一个长为 \(m\) 的木棍恰好分成 \(n\) 份,求 \(\sum_{i=1}^{n} a_{max}-l_i\) 的最小值。
赛时想了一辈子也没优化出来,只会半裸的不那么显然的背包。然后题解里有个卷积?好吧就论本题,容易知道背包可以从小往大合并。本题的卷积就是背包的合并。然后我们肯定要将木棍分为 \(n\) 份,显然有些状态无用。为了避免无用状态对时空的浪费,同时也要保证正确性,我们需要一点巧思。考虑处理出所有取 $ 2^i$ 个的背包,然后求解答案时合并就好了。然后这换句话说就是对卷积求快速幂(过于高级了)。然后预处理和求解复杂度都是 \(O(m^2\log{n})\) 的。
B. 虫洞折跃(flip)
纯纯【数据删除】题。题意是给出一张01矩阵,要求从左上角只通过0走到右下角。可以选择一个大小大于1的矩阵将其中元素取反。求问是否能只向右向下走到达终点,如果可以,求最小操作次数。
大概就是个简单dp+复杂分讨吧。首先考虑简单的情况:取反不受矩形大小的限制。考虑到经过的路径一定是个01串,那么如果当前位置是0且上一个位置是0,那么不会对答案造成贡献。如果当前位置是1且上一个位置是1,显然这两个1可以一次操作翻转,贡献在上一个位置就已经加了。考虑从0->1,显然需要取反使之成为0,那就将其贡献+1。考虑从1->0,由于一个连续的1子串可以一次就贡献完,我们就考虑将其尾部的首个1贡献也加上1,使前后对称。最后的答案就是 \(dp_{n,m}/2\)。那么考虑上矩形大小的限制,显然一个1的连续串的贡献照常,受到影响的只有孤立的1。然后有个好的性质,就算是孤立的1我们也能通过翻转其与相邻且不在路径上的块组成的矩形达到目的。所以我们的答案仍然是正确的。然后考虑什么时候无法通过这种方法达到目的。如果一条边在左边或上边边界上就无法通过这种方法达到目的。然后这种情况数量很有限,我们手模后特判掉即可。然后对于无解的情况,只有起点即终点且元素类型为1,和起点与终点相邻且元素类型相异。
C. 深巢温泉(dnspring)
神仙题。我是凡人我不改。
D. 逃离冰场(skate)
神仙题。不理解为啥能放在T4。题意是有一个01矩阵,0可以被经过,1不能。每次可以朝4连通且相邻点不为1的方向移动,每次移动可以使当前位置变成1,然后移动到移动方向上距离其最近的1的前面停下。给出起点和终点,求问从起点出发是否能到达终点。如果能,求问最小步数。
首先考虑一个显然的性质,普遍情况下,任意一个点到达其相邻点需要2步,就是先移动走再移动回来。然后任意一个点到达某个方向上最近的1只需要1步,足够显然。然后考虑往最短路上靠。发现每个点至多被经过1次,满足最短路的性质。所以直接建图跑dijkstra即可。所以这题凭啥放T4(虽然估计无论放哪里我都不会捏)。