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]=\binom{a}{i}*(s^{i}*((s+1)^{a+c-i}-s^{a+c-i}))^{b}*(s^{i}*(s+1)^{a-i})^{d}$
用这个式子暴力算就行了,应该挺好理解的
CSPS模拟测试59的更多相关文章
- csp-s模拟测试59(10.4)「Reverse」(set)·「Silhouette」(容斥)
A. Reverse 菜鸡wwb又不会了..... 可以线段树优化建边,然而不会所以只能set水了 发现对于k和当前反转点固定的节点x确定奇偶性所到达的节点奇偶性是一定的 那么set维护奇偶点,然后每 ...
- 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$:我是傻逼 ...
随机推荐
- 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )?
线程调度器是一个操作系统服务,它负责为 Runnable 状态的线程分配 CPU 时间. 一旦我们创建一个线程并启动它,它的执行便依赖于线程调度器的实现.同上一个问题,线程调度并不受到 Java 虚拟 ...
- 最近学到的Git知识,大厂的Git机制还是很方便的
本文首发于微信公众号:程序员乔戈里 转载请注明:https://blog.csdn.net/WantFlyDaCheng/article/details/102538508 一.两次的 git com ...
- springmvc引入静态资源文件
如果web.xml中配置的DispatcherServlet请求映射为“/”, springmvc将捕获web容器所有的请求,当然也包括对静态资源的请求.springmvc会将他们当成一个普通请求处理 ...
- vue父子组件钩子函数的执行顺序
加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount-& ...
- C# 获取顶级(一级)域名方法
/// <summary> /// 获取域名的顶级域名 /// </summary> /// <param name="domain">< ...
- Redis开发与运维:数据迁移(下)
上一篇,有朋友留言redis-port,借此机会我尝试使用一下redis-port这个同步工具 redis-port 已编译版 https://github.com/CodisLabs/redis-p ...
- 那些你不知道的HTML知识,快来学习一下吧
前言 HTML作为前端三大基础知识点之一,是每一个前端开发人员都要掌握的部分.今天这篇文章我们来看看一些平时不太会注意,却在面试时可能会问到的题目,来看看你都会吗? 如何使用div模拟实现textar ...
- 数据结构4_java---顺序串,字符串匹配算法(BF算法,KMP算法)
1.顺序串 实现的操作有: 构造串 判断空串 返回串的长度 返回位序号为i的字符 将串的长度扩充为newCapacity 返回从begin到end-1的子串 在第i个字符之前插入字串str 删除子串 ...
- opencv::处理边缘
卷积边界问题 图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理. 处理边缘 ...
- c#菜单动态合并
说明 在程序中经常使用弹出菜单,并且一个窗体中可以存在多个弹出菜单.开发过MDI窗体的读者可能都知道,当MDI子窗体最大化时,子窗体和主窗体的菜单能够自动的合并.这是如何实现的呢?本例实现了将两个弹出 ...