平常の刷题11

P3135

水,不讲,枚举矩形只需要 O ( n 4 ) O(n^4) O(n4),随便优化一维就好了,联赛T1难度;

P2889

太寄吧水了点吧;

P2726

好题;
我觉得思路还是可以理一下。
先是这样的,我们觉得可以找出特殊性质?
结果没有,那么放弃这条路果断选择别的方法;
然后我就出不来了;
其实这个题目还是有个树的中心的模型,然后发现深度那个条件又有点特别,那么直接套着用就好了;

P3298

有个变形的容斥可以一看,然后别的就是哈希了;
哈希的话我觉得可以直接用map套vector;或者是用用很奇怪的方法;

存下一个顺序序列完全可以用hash而不用套上vector

P3760

好题吧。
考虑到和的大小不会超过一百万。那么我先是想到可以用每个和出现的个数,但是这是不对的,没有解决这种问题的数据结构。
然后异或问题,可以考虑一下按位处理然后我们推式子,最后推得出一种符合树状数组的模型那么直接搞就可以了;

P3226

我囸你妈,怎么会有这么操蛋的傻逼题目。
不过推普通DP的过程还是有些许收获的。
题目做不出来就直接转化构造是吧,草泥马比;
不过这个题目也是有一个很巧妙的可以联想到拆分的点,就是集合里面的数是可以分组的,各组分之间是独立的;

P3632

这题也是比较典型的,题目不会让你去发明一个算法,这种题目显然没有贪心,也不能扫描线,那干嘛不建图呢?
这个题目模型还是很不错的,很考验,需要考虑拆矩形为点;
做完回来发现自己还是很傻逼;
其实这题目坐标是可以离散化的,根本没必要带着个很大的数据乱搞。
然后最有情况下面,出发点可以永远是矩形的角上,可以证明的;
然后就能减少很多码量还有时间复杂度;

P1415

我觉得我真的sb,其实这个题目挺简单的。
但是我出结论没证明,直接假了;

P3441

这个题目很巧妙,我们首先看到时间,觉得操作型的思路是不可能的。
实际上也证明确实是不可能的。
然后我们考虑转化一下,我们发现其实最后的边界一定在叶子节点上面。
然后引用一段话;

实际上观察这题的数据,推测复杂度O(n)O(n)
不难想到选取的II条路径都是从叶子到叶子存在最优解
那么发现貌似叶子节点中最多只有I2I∗2个会被覆盖(每条路径从叶子到叶子,覆盖22个),类似的,发现从叶子节点往内推一层也是最多只有I2I∗2个会被覆盖,那么大胆猜测,如果从叶子节点向内拓扑分层后每一层最多只有I2I∗2个会被覆盖,考虑到每一层的节点并不一定有I2I∗2个,所以每一层要考虑节点数的限制,最后将所有层加起来即可
这样做虽然没有直接考虑每一条路径,但由于路径之间是可相交的,所以可以保证每一层的点都可以满足覆盖 min(I*2,tot)min(I∗2,tot) tottot为当前层点数 个的要求

为什么这样是对的,因为大序的数量不可能多于小序。
对于一个节点,n,那么他一定是从n-1连接过来的,一定会有一个n-1的相连节点。
那么我们如果每次都这么找的话,似乎就是能连续的找出来了,那么答案就是对的;
CNM;

P7962

我CNM,这题真的好难,我真寄吧是头猪逼;

我在此详细的描述一下这题的思路;

方差的话,其实题目中给你的那个式子显然是不好做的,我们应该分离变量,这样子能帮助我们分开统计,我也是几天前才知道可以这么搞。
然后对于这种输出值的题目,我们一般有两种办法可以遵循;

①寻找操作规律,按一定规律操作;
在此题中,至少我是想不出来可以怎么搞,贪心的话应该是不行的;难以找到规律;
②直接找答案;
这题就是一个找规律,找到与找不到体现在分数上面就是很大的决定性的差距;

我觉得第一种思路就是乱套一通;
一个序列,无非就是那么几种关键信息,一个操作,总归会遵照那么点规律,你把每个信息的规律都去找一遍总归能找到差分。
第二种有点操蛋;
观察奇怪的数据范围,以及操作两次等于没有操作过的性质,那应该是交换什么东西,想一想,差分吧;
然后对于最优解的差分分布我觉得没什么大问题;
无非就是一个调整法证明;
然后DP;
因为方差要两个信息;那么存好就行;
然后通过值域来优化一下;

这题还有一种做法是模拟退火;
模拟退火的适用情况就是操作型序列
我觉得对于有序型和非有序型都是可以使用的;
如果发现差分的规律的话那么就更好了,就可以有概率直接满分;

40 pts 做法
按题目要求每次随机一个数进行操作,模拟退火即可。
80\ pts80 pts 做法
首先观察性质,的实质就是交换相邻两项的差分,而通过若干次操作我们可以将原差分序列重新排列成任意我们想要的顺序。
观察到交换差分的性质后,无论是推样例还是数感,都不难感觉到方差最小时,差分应该先减后增(你可以认为是让尽可能多的数集中,从而减小方差)。
因此,我们可以先构造出一种差分先减后增的初始解,之后每次随机两个位置并交换差分,在此基础上再模拟退火,即可获得 80\ pts80 pts 的好成绩。
100\ pts100 pts 做法
我们可以把交换差分改为随机把一个差分插入到另一个地方。观察到许多插入操作的最优方案是一定的。例如对于差分序列 3 1 0 2 4,若要移动最左测的 33,则放到 2,42,4 中间一定是最优的。
因此,我们每次可以随机一个值,并把它放到差分拐点的另一侧,使得差分序列仍然满足先减后增的性质,在此基础上模拟退火,并调出较好的参数,即可通过本题。
由于涉及到插入与删除,且有吸氧,我们不妨使用STL的 deque 简化代码。
我们可以用样例 44 进行测试,以获得较好的参数。实际上我的代码在样例 44 上的出解率也只有 80%80%,然而交了几次都能过掉这题,希望能出hack数据。(刚交的题解发现有问题……然后就再交了一次,希望不会导致管理看到好几篇吧)

每一次分数的提高都是对无效信息的去除;

HHHOJ519

我反正是真的服了;
居然有这么狗蛋的题目;
我们要获取精确信息是不可能在O(N^2)之内获取的;
但是
谁叫你把答案算出来了;
估算就可以了;
在这里插入图片描述
吐了;

P7961

我真的是悔不当初,这么简单显然的DP居然没想出来呀我日你妈;

P3943

很操蛋的一道题目;具体去看题解吧,其实差分也是可以瞎搞的;

P7915

这个题目也是去找性质,然后去对应一个算法;
此处就是数据结构----stack;
这么搞一下就出来了;

P7914

这个题目也挺难的;
不过比以前还算是有进步一点了,至少现在能推一个不三不四的DP方程;
我做的时候确实想到了区间DP的好做法,不过我直接把他pass了;
我自己认为的理由居然仅仅是因为他原来的序列中有一些帮你确定了的内容;
但是这些地方我们是可以特判的;
反观线性DP这才是不可压缩的;
及时回头吧;
括号序列也不只是单调栈这种做法,如果不是哪种SB规则,线性DP其实可以秒了;

P7283

点分治加上树状数组的一些处理,点分治的时候最应该注意的一点就是不要重了;同个子树内的有时候可以放一起有时候不行不要搞错了;

P3821

很是神奇的一道题目;
题目很是奇怪,似乎找不到对应的算法;
那么就可以去考虑一下DP;
其实这题不用DP,矩阵乘法就可以了,有多少乘多少,仔细想想我觉得还是可以理解的,而且这题只需要求连通性,01运算就可以了;然后很值得注意的一个细节就在于乘起来时候的顺序不能错;
然后,对于二分答案,我觉得这里可以给出一个使用的充要条件,当且仅当满足某条件时候求解最值且序列具有单调性;
三分发的话也应该是满足某条件再求最值的时候使用;
如果我们不想维护更多的信息那就老老实实二分判定;
a[1]打头,因为走一步就到了a[1]时候的情况,不能走到跟怪物同一格,就这样;

HHHOJ515

这题很巧妙。
计数问题无非那么几种做法;
DP;
排列组合正向;
反向;
我曾经以为这个题目不能容斥,其实并非如此,那是我没有看透本质深入研究;
容斥也可以是包含奇偶个数的相减得到;

P6760

看起来很是不可解,那么根据部分信息不可压缩的性质,我们应该采用一种别致的做法;
题解在这里,整体考虑计算贡献的方法;
可以借鉴一下;

P7115

分治,加上设计操作的做法,让这题变得简单明了;
周日有空的话打一下这题;

P4982

感觉这题出的很好;
发现转移的特征,以及数据范围,我们只有可能采用状压DP,然后,对于每个周期之间,我们发现似乎可以矩阵来实现快速转移,并且这题的数据范围和种种都支持我们使用矩阵,具体怎么矩阵看答案吧,比我理得清楚很多,刚想出来的时候我想了个很sb的转移,思路比较乱的那种sb做法;

P1605

弔题,是搞递推式的题;
因为比较像汉诺塔

CF1659E

如果用常规方法真的搞不出来,所以要去考虑特殊性质的存在性;

P4996

这个题目叫你算的是总体的部分。
就是说,常规方法很奇怪的话,为什么不去想一想算贡献呢?

CF1658D2

位运算的题,想到trie和拆位数不奇怪吧;

P5503

不用数据结构,因为我们发现数据结构会产生信息上的浪费;
然后推着推着发现一些性质;
然后发现单调性,大概就是那么一个思路;
不过我已经忘了决策单调性DP的存在了;

P6076

我觉得还是题解里面的回答比我的清楚,就是一个容斥,容斥翻译成人话就是集合的运算;
主要就是把集合画出来,求并集的就是容斥一发;

P2145

听说是错题。
首先一个证明,然后做一下嘛;
区间DP就是要考虑转移方式可能有很多种比如这题;状态想全来;

P2511

前面都很好想,就是后面指针有一个单调性;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值