SCOI2014极水的题解- -
话说SCOI都考了1个月了,终于拿出决心把题解补完了,但都说了是极水的题解,大家就看着玩吧- -
DAY1 T1:目标是找最长不降子序列,先就有一个比较显然的结论,就是假如我们要拔高区间[L, R], 将其换为[L, N]肯定不会让答案变差(YY一下就发现这点很显然),就可以得到一个DP的大体思路了。
就是DP[i][j]表示以i结尾并i共计被拔高了j次的最长子序列的长度,然后发现dp[i][j]由dp[p][q]转移过来当且仅当
height[i] + j >= height[p] + q且j >= q, 这个我写个二位树状数组胡搞毛搞一下就可以了。
考场上T了一个点,只有90分,毕竟是log*log,但张老师写的log,考场上A了,但BZOJ上就比我慢了一大截,简单地说就是慢了整整一倍,真是神奇(=^ ^=)
DAY1 T2:让你维护序列什么的,先可以发现对于任何一段连续的序列,其内部相对排名都不会改变,就可以写一个XX数据结构来维护区间,数据结构中每个点都维护一段区间,假如要访问内部的点就直接把它拆分开即可。
因为操作数只有10^5,所以要维护的点也不会很多,搞得下来,然后对于标号还要再写个什么东西维护(STL?),反正就是数据结构裸题,属于谁爱写写的那种- -
考场上写40分暴力都写拙了,T得只有10分了TAT。
DAY1 T3:据说正解O(1),数据范围只是懒得写高精度- -反正是防AK的题,全场最高分10分,同时还有一群人暴力连样例都跑不过,就没什么好说的了(懒)……
DAY2 T1:比较裸的分数规划,很容易想到先二分答案判断可行,我们直接把加流量的操作视为反边,减流量的操作视为正边,那么验证答案是否可行就是在找一个负环。
假如当前二分的答案为K,那这条边正边(加流量)就是ui通向vi,代价为bi+di+K,负边(减流量)就是vi通向ui,代价ai+K-di,然后随便跑个算法判断负环就可以了。唯一要注意的是流量为0的边无法再减流量了。
考场上得了90分,有个点WA了,和答案相差很远,原因不详。。。
DAY2 T2:这道题数位DP,时限3秒,但我认为标程方法拙了,要不时限开0.2秒都跑的下来,不信你看看BZOJ 3598跑的最快的速度吧(有人问我是不是打表TAT),名字什么的不要太在意,话说Onion Movie作为高级黑还是推荐没看过的去看一看呢。
我的算法说来很快很简单- -,数位DP的部分是最基础的水平。先不妨让所有的数都把石子移动到第1位,就可以得到初始总代价Cost,但我们发现这样对于很多数显然不优,我们就可以考虑都多少数从第1位改为第2位会更优,具体优多少,又有多少数从第2位改为第3位会更优……直到从倒数第二位移动到倒数第一位会更优,容易发现这样我仍然可以保证每个数都被我移到了最优情况。然后只用具体考虑有多少数从第i位移到第i+1位更优,优多少,我们可以发现,当一个数从第i位移到第i+1位时代价的变化量等于前i位的和减去i+1位至末位的和,然后就是简单的数位咯O(∩_∩)O!就是直接记录填到第k位的数字之和,如果k<=i就是加,否则就是减,最后的DP[s]就表示有多少个数满足从第i位移动至i+1位能优-s下来。
复杂度应该是log()^3*k^2,反正属于秒跑的那种,再次吐槽标程一定写拙了,时限给那么大,够我跑⑨⑨次都不止吧……
考场上秒A,毕竟是水数位DP嘛(∩_∩)
DAY2 T3:这道题是DP你信?大体思路是枚举分割线,假如分割线上有多个点就在分割线上做DP,记录能够让分割线刚好在这的方案总数,据说标程写+调搞了很久?反正现场估计连看出是DP的也没有,都写的暴力,难道又是在防AK?(懒)。。。
好吧,省选的水题解(修饰题解而不修饰题)就结束了,我最后90+10+0+90+100+30好歹以第三进了队,myns包揽前两名(据不愿透露姓名的ns同学说是两个男(和谐)同?!好吧,据说是ns的喜报上学字打漏了,弄了个大新闻)。
题解就算补完了,耍刷一会。。。
Artanis
SCOI2014极水的题解- -的更多相关文章
- bzoj usaco 金组水题题解(2)
续.....TAT这回不到50题编辑器就崩了.. 这里塞40道吧= = bzoj 1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害 比较经典的最小割?..然而 ...
- World Finals 2017 (水题题解)
看大佬做2017-WF,我这种菜鸡,只能刷刷水题,勉强维持生活. 赛后补补水题. 题目pdf链接,中文的,tls翻译的,链接在这里 个人喜欢在vjudge上面刷题. E Need for Speed ...
- NOIP 模拟赛 day5 T2 水 故事题解
题目描述 有一块矩形土地被划分成 \(\small n×m\) 个正方形小块.这些小块高低不平,每一小块都有自己的高度.水流可以由任意一块地流向周围四个方向的四块地中,但是不能直接流入对角相连的小块中 ...
- bzoj usaco 金组水题题解(2.5)
bzoj 2197: [Usaco2011 Mar]Tree Decoration 树形dp..f[i]表示处理完以i为根的子树的最小时间. 因为一个点上可以挂无数个,所以在点i上挂东西的单位花费就是 ...
- bzoj usaco 金组水题题解(1)
UPD:我真不是想骗访问量TAT..一开始没注意总长度写着写着网页崩了王仓(其实中午的时候就时常开始卡了= =)....损失了2h(幸好长一点的都单独开了一篇)....吓得赶紧分成两坨....TAT. ...
- 络谷AT941(水提高+)题解
蒟蒻刷水题的日常 这个题虽然模拟也不会超时,但我不喜欢模拟,能不模拟就不模拟,容易超时. 接下来进入正题: 实际上一开始是个很无聊的过程,你拿点,我拿点....贼无聊.我们可以把这个过程去掉.只看最后 ...
- Cmd2001的毒瘤水题题解
怕不是我再不写题解这题就该成没人做也没人会的千古谜题了...... T1: 仔细分析题面,发现相同就是广义SAM上节点相同,相似就是广义SAM上为从根到某个点路径的前缀..直接SAM上跑从根开始,每个 ...
- 洛谷 P1190 接水问题 题解
P1190 接水问题 题目描述 学校里有一个水房,水房里一共装有 \(m\) 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1. 现在有 \(n\) 名同学准备接水,他们的初始接水顺序已经确 ...
- 2006-2007 ACM-ICPC | POJ3380 POJ3384 POJ3385 水题题解
// CF比赛链接:http://codeforces.com/gym/101650 // POJ链接:http://poj.org/searchproblem?field=source&ke ...
随机推荐
- 微软office web apps 服务器搭建之在线文档预览(二)
上一篇文章已经介绍了整个安装过程了.只要在浏览器中输入文档转换server的ip,会自动跳转,出现如下页面. 那么就可以实现本地文档预览了,你可以试试.(注意:是本地哦,路径不要写错,类似“\\fil ...
- jenkins自动打包部署linux
需要用到2个插件. git parameter:用于参数化构建时选择分支. Publish Over SSH:用于上传jar包和操作tomcat 1.先在系统设置添加要连接的linux服务器,使用用户 ...
- C#是数据类型
C#又开始了 开始数据类型 用的软件是VS2017 E short 短整型 int 中等整型 long 长整形 string 字符串类型 bool 布尔类型(true/flase) 相当于数 ...
- python全栈开发-面向对象-进阶
python_day_18 1,面向对象的三大特性是什么?继承,多态,封装2,什么是面向对象的新式类?什么是经典类?凡是继承object类都是新式类.凡是不继承object类都是经典类.3,面向对象为 ...
- Javascript深入__proto__和prototype的区别和联系
有一个一个装逼的同事,写了一段代码 function a(){} a.__proto__.__proto__.__proto__ 然后问我,下面这个玩意a.__proto__.__proto__.__ ...
- 程序员必备神器--vps主机
今天推荐一个功能强大.居家必备的神器给刚入行或还不了解它的同学们.且不说它有什么功能,它有多好用,先说先你有没有碰到过这些问题吧. 用百度查技术问题,发现都是互相抄袭和广告,大佬都说google好,但 ...
- 福利,一张图看懂IT售前工程师修炼之道
职场中的新人如何自我定位? 如何深刻理解IT售前这个职位? 如何从IT售前菜鸟成长为IT售前专家? 推荐这本书<IT售前工程师修炼之道> 本书精华内容 售前的重要性 售前要有逻辑能力 售前 ...
- sqoop导入数据到hive表中的相关操作
1.使用sqoop创建表并且指定对应的hive表中的字段的数据类型,同时指定该表的分区字段名称 sqoop create-hive-table --connect "jdbc:oracle: ...
- sprint2 团队贡献分
团队名:在考虑 团队贡献分: 102 杨晶晶:17 106 邹育萍:18 114 纪焓:16 116 黄敏鹏:28 117 郑培轩:26 138 曾昱霖:15 最新项目的github地址: https ...
- 20172330 2017-2018-1 《Java程序设计》第十一周学习总结
20172330 2017-2018-1 <程序设计与数据结构>第十一周学习总结 教材学习内容总结 本周的学习内容为集合 Android简介 Android操作系统是一种多用户的Linux ...