350 XOR-omania
题意 有
分析 从结果角度入手,假设使用序列
假设得到了
但是题目中还保证了序列
349 Wolves and Sheep
题意 有
分析 注意,所有的羊和狼都分布在一、二象限。将所有的点极角排序,将羊表示线段的角度区间剔除。因为狼所表示的线段可能被切分成若干段,在剔除羊之后需要合并跨区间的线段。剩下的问题可以转换成一维的线段问题,解法是按一维线段的左端点排序,不断更新取范围内的线段右端点的最小值。
348 Twisting the Number
题意 定义集合运算
分析 集合运算
(再走一步)当
347 Join the Strings
题意 给
分析 经典贪心,考虑相邻两个元素的字典序大小即可。
346 Snooker
题意 斯诺克规则:
- 有 15 个红球以及其它 6 种颜色球各 1 个,红球价值 1 分,其他彩球各 2 至 7 分。
- 玩家需轮流打进红球和彩球,即打进红球后下一个必须打彩球,反之亦然。
- 当玩家打进彩球时,如果桌面上还有红球或者上一次进球是红球时,这个彩球会被重新放回桌面上。本质上是需要先打完所有红球,然后才能打完所有彩球(具体参考样例解释)。
- 当桌面上只剩彩球时,玩家需要按照彩球分值递增的顺序进球。
玩家得分为进球的分值总和,给定目前桌面的各种球的数量以及上一个进球颜色,求玩家所能获得的最大得分。
分析 模拟。
345 Revolution
题意 给
分析 计算几何。凸包面积使用叉积计算后可以使用前缀和快速计算,假设已知直线和凸包的交点,就可以 O(1) 求得切割部分面积。
利用叉积计算将凸包点集区分成左右两部分,由于凸包的点是有序的,那么就可以得到与直线相交的线段。
344 Weed
题意 给
分析 模拟。
? 343 VaR
题意
分析
342 Reihenfolge
题意 给一大整数
分析 记
表面上每次状态转移都会产生新的 2
种状态,实质上再走一步可以发现
代码 342.java
? 341Circuits
题意
分析
340 TeX2HTML
题意 解析 tex 中的公式表达,转换成 HTML 标签。
分析 parser。
339 Segments
题意 增加、删除一维坐标上的线段:
分析 二维线段树。
338
337 Keven
题意
若长度为偶数的字符串前半部分和后半部分不同的字符数量不超过
分析
336 Elections
题意 有
现模拟
,操作 1 需判断党派/集团 是否掌握有党派/集团 的负面消息; ,操作 2 表示党派/集团 和党派/集团 形成集团并共享信息。
分析 食物链。
? 335 Thiefs And Cops
题意 在
分析
334 Tiny Puzzle
题意 给 9 个小方块的坐标,通过平移将这些方块组合成 3×3 的正方形。对于联通的小方块可分成一组形成联通块,但不能旋转或翻转。求最少需要分成多少组就可以通过平移组成 3×3 的正方形。
分析
333 Random Shooting
题意 在大小为
分析
参考 SGU 333 Random Shooting +数据加强版
332 Largest Circle
题意 给
分析 二分半径 R,凸包拆解成半平面,半平面的直线向“内”平移 R 后求半平面交,若面积大于0 说明凸包能包含半径 R 的圆,反之不行。
331 Traffic Jam
题意
分析
330 Numbers
题意 给两数
分析 从二进制的角度考虑。
329 Black-and-White Triangle
题意 长度为
分析
? 328 A Coloring Game
题意
分析
327 Yet Another Palindrome
题意 给
分析
每个字符串可能出现回文串的前半部分、后半部分、跨越对称轴三种情况。根据回文串的性质,若
326 Perspective
题意 有
分析 显然,第 1 支队伍的所有场次均获胜,即最后得分为
一种比较显然(但不简单)的做法是构造网络流:左部分点表示比赛,右部分点表示队伍,根据题意构造边的流量即可。
325 Palindrome
题意 给长度为
分析 同一字符的相对顺序不变,因此可以知道每个字符在回文串中相匹配的字符。基于这个观察,从外向内贪心模拟这个匹配过程即可。
324 The Text Formatting
题意
分析 模拟。
323 Aviamachinations
题意 Berland 上有
分析
模拟+最小生成树。暴力做法是,枚举垄断公司,先用该公司的航线合并相互可达的城市,然后从头搞一遍最小生成树求最小价格。暴力做法的时间复杂度是
从另一个角度入手,在不考虑垄断公司的前提下,先求最小生成树,然后往树上加垄断公司的航线边,再去掉环上价格最高的边即可。但这个做法要做到
从结果角度来看,垄断公司的航线不是自家经营的航线,就是在最小生成树上的航线,也就是暴力做法中只需要枚举最小生成树上的边即可。
322 The Great Union
题意 给 2 棵
分析 最少次数为非公共边的数量。每次往树 A 加树 B 的边,然后去除环上的非公共边。
321 The Spy Network
题意 给定一棵
分析 贪心+二分。显然地,修改的树边距离根越近越好,对于每个节点可以二分其到根路径上的边界点,边界点以上树边的边权都修改为 1。
320 The Influence of the Mafia
题意 给
分析 模拟+BFS。
319
题意
分析
318 Grants
题意 有
分析
317 Fast Ride
题意 有
分析 DP。
316 Code Tanks
题意 (省略)
分析 模拟。
315
题意
分析
314 Shortest Paths
题意 给定
分析 K 短路模板题。
313 Circular Railway
题意
分析 当点分布在链上时,贪心即可:从左往右,能匹配就匹配。
将环拆成链,枚举环的拆分位置,然后退化成链的做法,时间复杂度为
考虑逐格递推,即考虑每条线段对于总距离的贡献。记起点值为
剩下的问题就是考虑将绝对值符号去掉,这里可以使用离线+树状数组维护。
代码 sgu 313
312 4-3 King
题意
分析
311 Ice-cream Tycoon
题意 有
分析 线段树模拟。
310 Hippopotamus
题意 长度为
分析
309 Real Fun
题意 给二维平面上
分析 聚类?
308 Hyperboloid Distance
题意 给定单页双曲面
分析 微分法。
307 Cipher
题意 给定大小为
分析 若已知矩阵
306
题意
分析
305
题意
分析
304
题意
分析
303
题意
分析
302
题意
分析
301
题意
分析