CSPS模拟测试59

这场考得我心态爆炸。。。。。。。。。

开场T1只会$n^{2}$,然后发现bfs时每个点只需要被更新一次,其他的更新都是没用的。

也就是说,我们可以只更新还没被更新的点?

于是我先YY了一个链表,发现在链表中删除一个数之后,用它更新其他点的时候,就没有办法找到它的前趋后继了,用之前的可以被卡成$O(n^{2})$,大样例都跑了2s+,然后就死了。

然后才想到set,可以保证每个点只被更新一次,然而发现我对set一无所知,一直以为begin指向为空,而end指向最大元素,调了好久,后来发现是反的。。。。

然后处理的时候又出了问题,仍然没有保证每个点只被更新一次,此时大约过去了2h,心态还是很崩的。

然后把奇偶分开,发现还是不行,最后终于发现每个点的左右边界定的过大了。

于是,在开考2.5h后,我终于自认为A掉了T1。

赶紧去打了T2暴力,突然想到回去给T1打个对拍,发现某些数据跑的还是很慢!(虽然从赛后看此时已经A了)

优化了一下,稳定在了0.1s,此时还剩5min,去打了个T3的8pts就没了。

T1

  上面说过了。

T2.

  首先一个非常显然但我没有看出来的结论:顺序不影响结果(因为不管怎么排序,任意横纵两排都会有一个交点)

  然后我们将所有值从大到小排序,可以发现,在比它大的数填完之后,每个值能够填的区域是一个L形(矩形也算L)

  只有L中间的矩形需要保证合法,因为其他地方的合法性已经在之前保证了,当前值也无法满足那些位置。

  也就是说,我们当前只需要保证矩形所在的行和列合法。

  令矩形为$a*b$,上面的部分长为c,下面长为d

  直接计算不容易,我们考虑容斥

  将L拆成两个小矩形,那么在保证所有列合法的情况下,令$f[i]$表示至少有i列不合法的情况。

  容斥系数:$ans=\sum\limits_{i=0}^{a}{(-1)^{i}f_i}$

  我们考虑如何计算f[i]

  $f[i]=C_a^{i}*(s^{i}*((s+1)^{a+c-i}-s^{a+c-i}))^{b}*(s^{i}*(s+1)^{a-i})^{d}$

  用这个式子暴力算就行了,应该挺好理解的

原文地址:https://www.cnblogs.com/hzoi-cbx/p/11622698.html

时间: 2024-11-05 23:20:01

CSPS模拟测试59的相关文章

[CSP-S模拟测试59]题解

以后题解还是单独放吧. A.Divisors 根号筛求所有数的因子,扫一遍去重统计即可. #include<cstdio> #include<iostream> #include<cstring> #include<vector> #include<map> using namespace std; const int N=205; int a[N],m,n; map<int,int> bu; vector<int> re

csp-s模拟测试59(10.4)「Reverse」(set)&#183;「Silhouette」(容斥)

A. Reverse 菜鸡wwb又不会了..... 可以线段树优化建边,然而不会所以只能set水了 发现对于k和当前反转点固定的节点x确定奇偶性所到达的节点奇偶性是一定的 那么set维护奇偶点,然后每次set找点删点注意边界 set在删点后原来的迭代器会玄学出错,xuefeng好像被坑了,所以lowerbound一下就不用++了 B. Silhouette 很玄学的容斥 考场多QJ了18分,因为如果1-n是个序列,好像就是一个简单的容斥..... 然后用能发现是以“L”形的形状向右推的,随便乘一

csp-s模拟测试60

csp-s模拟测试60       2019-10-05 RT. 又颓又垃圾. 状态低迷,题都交不上去. 交了也是爆零,垃圾玩家没有什么可说的,就是垃圾. A. 嘟嘟噜 $mlogn$的毒瘤做法. 贴一个不一样的毒瘤做法. 1 //ans=(ans+m)%i 2 #include <cstdio> 3 #include <cstring> 4 #include <iostream> 5 #include <algorithm> 6 #define re re

csp-s模拟测试83(集训过半)

csp-s模拟测试83(集训过半) 一场信心赛.起初$OJ$爆了我就看见全场$A$了$T1$并且夹杂着$A$掉$T2$我就很难受. 这场比赛没有深入思考,很失败,一个多小时后就结束了我罪恶的一生. 100 00:44:43 50 02:51:09 20 02:50:48 170 02:51:09 没什么水平暴力都没打满. A. 最大异或和 打表可知异或$sum$为$0$则平局反之先手必胜. B. 简单的括号序列 $B$组的一道垃圾题.记得考虑柿子的实际含义就好了. C. 旅行计划 分块处理,考场

csp-s模拟测试92

csp-s模拟测试92 关于$T1$:最短路这一定建边最短路. 关于$T2$:傻逼$Dp$这一定线段树优化$Dp$. 关于$T3$:最小生成树+树P+换跟一定是这样. 深入(?)思考$T1$:我是傻逼. 深入(?)思考$T2$:我是天才! 深入(?)思考$T3$:我是天才! 100 01:14:19 10 02:36:26 15 03:19:48 125 03:19:48 事实证明我是傻逼. A. 数列 故意删掉负数读入$Rp--$ $Exgcd$,对绝对值大力分类讨论,一次函数求最值. 考场死

csp-s模拟测试93

csp-s模拟测试93 自闭场. $T1$想到$CDQ$,因为复杂度少看见一个$0$打了半年还用了$sort$直接废掉,$T2$,$T3$直接自闭暴力分都没有.考场太慌了,心态不好. 80 02:07:34 0 03:12:11 0 03:11:53 80 03:12:11 没有前途就是垃圾趁早滚回实验二安度晚年吧. A. 序列 $CDQ$不接受反驳. B. 二叉搜索树 最简单的$Dp$都没认真想,太垃圾了,积累一个决策单调性优化$Dp$.一些看似是$n^3$的题可以通过特殊性质优化,还比如以前

csp-s模拟测试94

csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间,$T3$写完暴力准备划水,突然发现特殊性质可写,$10$分钟拯救了$25$分. 80 03:24:46 70 03:24:58 65 03:25:10 215 03:25:10 没办法就是菜,退役也不暝目. A. 凉宫春日的忧郁 转成对数轻松过. B. 漫无止境的八月 取模到$K$大小的区间,$ha

csp-s模拟测试96

csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 230 03:17:10 比较意外. 和天皇$Skyh$同分祭. 起码可以伪证退役前我努力过. A. 求和 等差数列慢速乘,$/2$特判. B. 分组配对 二分右端点倍增优化. 考场把两个性能各异的暴力拼在一起,设一个参数,拿了$95$. C. 城市游戏 调不出来,咕. 神様(かみさま)ありがとう 运命

csp-s模拟测试97

csp-s模拟测试97 猿型毕露.水题一眼秒,火题切不动,还是太菜了. $T1$看了一会儿感觉$woc$期望题$T1??$假的吧??. $T2$秒. $T3$什么玩意儿. 40 01:24:46 100 00:31:38 10 02:49:26 150 02:49:26 $T1$特判错了希望人品可以++. A. 小盆友的游戏 像题解一样构造一个函数那么这个题就是水题了. B. 花 随手$Dp$. C. 表格 $Dee$树帅但是我咕了. 酷(ひど)いよ 酷(ひど)いよ.もういっそ仆(ぼく)の体(か