博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.25 NOIP模拟8
阅读量:5037 次
发布时间:2019-06-12

本文共 681 字,大约阅读时间需要 2 分钟。

这次考试前面状态还行,后两个小时真是一言难尽,打了个T3的n^2暴力就懵逼了,不知道怎么优化。

T1.匹配

  看了一边题发现不太懂(这不是考试的难度啊),然后水完T2后回来5分钟水过,非常愉快的一道题。

  一开始想打kmp,然后发现kmp好像忘的差不多了,就YY出题人应该不会丧心病狂到卡hash,然后就打上去了。

T2.回家

  一个非常裸的tarjan,疯狂码完后想了想怎么求一条链上的割点数目,一开始以为dfs一下就行,手模几个样例全过,然后就扔了看T3。

  打完T3暴力回来造了个点,hack掉了!大概还有半个小时结束,吓得我dfs求了一下每个点的爹,从n暴力上升到1,稳稳A掉。

T3.寿司

  大概码完前两题还有2.5h,然后就盯着它陷入了沉思,YY了很久也没有想出低于n^2的做法,关键是,我n^2打的是贪心。。。然后稳稳的WA成5分。最后两个小时如果不算T2的改正,实际得分只有5。

  正解就是对n^2的优化,首先对于断开环形成的某一个序列,最优决策为将其中一种颜色移到两边(显然),并且从一个分界点开始,左边的移向最左,右边的i向最右。然后是一个非常神奇的性质,这个分界点的位置是确定的!分界点一定处于将另一种颜色均分的位置。因此我们可以二分这个位置,总复杂度O(Tnlogn),对该题数据可过。

  事实上,我们可以发现分界点的位置是有单调性的,因此在移动断开环的位置时,只需将分界点指针沿相同方向移动即可,总复杂度O(Tn).

转载于:https://www.cnblogs.com/hzoi-cbx/p/11247000.html

你可能感兴趣的文章
android实现点击背景图片不同区域实现不同事件
查看>>
玲珑OJ 1082:XJT Loves Boggle(爆搜)
查看>>
JDK、JRE、JVM三者间的联系与区别
查看>>
ssm中实现excle导入导出
查看>>
2011-07-06 11:19 Hibernate提供了3种检索策略
查看>>
CSS Hacker
查看>>
有关Botton的用法(一)
查看>>
前端jquery一些基本语法
查看>>
单表入库最快的方法
查看>>
线性的数据结构
查看>>
使用MQ消息队列的优缺点
查看>>
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
查看>>
Win8Metro(C#)数字图像处理--2.5图像亮度调整
查看>>
SQLServer2005数据库快照的简单使用
查看>>
ASP.NET MVC 5 入门教程 (4) View和ViewBag
查看>>
T-SQL性能调整——信息收集
查看>>
Powerdesigner 16.5 从SQL Server 2012做逆向工程时提示:Unable to list tables问题
查看>>
NSIS:卸载时选择组件
查看>>
程序员最新笑话集锦
查看>>
10.29
查看>>