CSPS模拟 65
cbx又A两题%%%
T1比较水,只需要想到lcm以内的数都只能被唯一凑出就可以。
T2比较shi,毕竟std复杂度都不正确的题是不能称之为完整的题的。
那么再感受一下T3满满的恶意

起点已经固定了,考虑当终点也固定时该怎么花费最小代价
一般的情况是,s和t都不在端点上,而端点又必须到达过,那么不可避免地,st两侧的边都被覆盖两次
而且发现这两侧的边,都可以在不增加代价的情况下随意改变行动方向,所以覆盖两次就行了,没必要覆盖第三次。
为了方便描述,如果s在t的左边(右边的话就把序列翻过来)
那么大概的方向就是:向左先踩掉左端点,向右踩掉右端点,回过头到达t
那么在两侧的边(1-s和t-n)什么方向都可以,也就是有n-t+s-1次花掉强制次数L的机会
如果L<=那个次数,直接安排在两边什么地方就行了,注意左端点必须到达,必须分配一个;右端点向左跳到t至少用一次(如果t!=n),必须分配一个。
L>那个次数,只能从s和t之间选一些边,让s到t向右走的过程中,先跳到这些边的右端点,再向左跳花掉L,然后正常向右。
先求出最优的t,最后再跑一次构造一个解。
先发出去,还要补一些奇怪的想法。
upd:改题时以及写这篇随笔时一些奇怪的想法:
1.把序列翻过来以后,L的值就不是L了,而是n-1-L,总感觉哪里不对劲,主要是L的过量、不足关系的判定上好像不够直观了,改题时猜想这样是对的,现在发现自己懵逼了。应该是没有问题,比如考虑s>l的情况,t>s时无论如何l都不会过量,而反过来后n-l-1则很容易就过量,好像冥冥中比较符合实际
2.在给st两边的线段强制分配次数的时候,应该考虑L不够分的情况。如果s不在端点,t就必须在端点。我在代码里特判了L==1的情况,不知道如果不特判能不能在第一问直接把t!=n的方案滤掉
3.给两边分配次数时,给1-s分从1开始分到s,给t-n分从t开始分到n,构造的时候则反过来行动,即后走左向边。感觉这样具有比较好的包容性
4.构造t>s的方案时可以与s<t的并在一起,只要把s和tswap一下,然后压栈时把s也压进去,那么栈顶和栈底一定分别是s和t,只要在外面判断一下是从2输出到n还是从n-1输出到1,感觉这样构造比较好,虽然还是非常难打。
uupd:上一个upd的2好像不行..把特判删了段错误到飞起..
大概是因为只有l>1的时候,才能保证任何时刻要从堆里取出一个边的时候,堆里都已经有一条边..
这样L或n-1-L的限制都不会大于n-2,在t拓展两次之前都不会要求从中间找边,给了堆足够的准备之间
CSPS模拟 65的更多相关文章
- 反省——关于csp-s模拟50
本人于搜索csp-s模拟49题解时,有意识地点开了一篇关于csp-s模拟50T2的题解,并知道了题解是二维前缀和以及四维偏序. 更重要的是,那篇博客说有解法二,叫二维莫队. 于是我上网搜索二维莫队,结 ...
- csp-s模拟测试99
csp-s模拟测试99 九九归一直接爆炸. $T1$一眼板子. $T2$一眼语文题(语文的唯一一次$120+$是给模拟出来的可知我的语文能力). $T3$一眼普及题. ?? Hours Later 板 ...
- csp-s模拟测试98
csp-s模拟测试98 $T1$??不是我吹我轻松手玩20*20.$T2$装鸭好像挺可做?$T3$性质数据挺多提示很明显? $One$ $Hour$ $Later$ 这$T1$什么傻逼题真$jb$难调 ...
- csp-s模拟测试97
csp-s模拟测试97 猿型毕露.水题一眼秒,火题切不动,还是太菜了. $T1$看了一会儿感觉$woc$期望题$T1??$假的吧??. $T2$秒. $T3$什么玩意儿. 40 01:24:46 00 ...
- csp-s模拟测试96
csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 23 ...
- csp-s模拟测试95
csp-s模拟测试95 去世场祭. $T1$:这不裸的除法分块吗. $T2$:这不裸的数据结构优化$Dp$吗. $T3$:这不裸的我什么都不会搜索骗$30$分吗. 几分钟后. 这除法分块太劲了..(你 ...
- csp-s模拟测试94
csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...
- csp-s模拟测试93
csp-s模拟测试93 自闭场. $T1$想到$CDQ$,因为复杂度少看见一个$0$打了半年还用了$sort$直接废掉,$T2$,$T3$直接自闭暴力分都没有.考场太慌了,心态不好. 02:07:34 ...
- csp-s模拟测试92
csp-s模拟测试92 关于$T1$:最短路这一定建边最短路. 关于$T2$:傻逼$Dp$这一定线段树优化$Dp$. 关于$T3$:最小生成树+树P+换跟一定是这样. 深入(?)思考$T1$:我是傻逼 ...
随机推荐
- 注册中心nacos完整部署及与eureka区别
1. 场景描述 nacos最近用的比较多,介绍下nacos及部署吧,刚看了下以前写过类似的,不过没写如何部署及与eureka区别,只展示了效果,补补吧. 2.解决方案 2.1 nacos与eureka ...
- Python 元组(Tuple)操作详解
Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号, 列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 一.创建元组 代码如下: tup1 = (' ...
- 【TencentOS tiny】深度源码分析(7)——事件
引言 大家在裸机编程中很可能经常用到flag这种变量,用来标志一下某个事件的发生,然后在循环中判断这些标志是否发生,如果是等待多个事件的话,还可能会if((xxx_flag)&&(xx ...
- idea配置maven以及手动添加webapp目录
idea配置maven 点击右下角Configure 点击settings 3 . 设置路径 设置自动导包 4 . 点击创建新工程 5 . 选择maven点击下一步 6 . 7 . 8 . 此时,创建 ...
- 数据结构中数组反转与STL库Algorithm中的reverse
数组是个基本的线性数据结构,其实是内存中的一个块,我们可以通过c++的new来分配一个数组 int* a= new int[5]; 然后填数组的每个元素 a[0]=1; a[1]=2; a[2]=6; ...
- 后台模板引擎ejs与前台模板引擎artTemplate的简单介绍
动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...
- [LUOGU1868] 饥饿的奶牛 - dp二分
题目描述 有一条奶牛冲出了围栏,来到了一处圣地(对于奶牛来说),上面用牛语写着一段文字. 现用汉语翻译为: 有N个区间,每个区间x,y表示提供的x~y共y-x+1堆优质牧草.你可以选择任意区间但不能有 ...
- GSS3 - Can you answer these queries III
题意翻译 nnn 个数, qqq 次操作 操作0 x y把 AxA_xAx 修改为 yyy 操作1 l r询问区间 [l,r][l, r][l,r] 的最大子段和 感谢 @Edgration 提供的 ...
- Cocos2d-x 学习笔记(12) Speed Follow
Speed Follow都是直接继承了Action. Speed对其他action进行包装,改变action的速度. Follow可用于node在scene中的运动,scene将node作为Follo ...
- java控制执行流程
控制执行流程 欢迎转载,转载烦请注明出处,谢谢. https://www.cnblogs.com/sx-wuyj/p/11177257.html java当中涉及到的关键字包括if-else.whil ...