经ooo提醒咕题解会掉rp

  我反正也冒着改不完题的风险,就开始颓博了

  话说好久没这么舒坦的垫过底了233

  

  上来一看T1,立刻就转化题意为有奇偶性和距离限制的bfs

  然后就没考虑子串不能越过母串边界的事,当成单调队列裸题做了..

  由于能力有限,连单调队列都调了很久

  大样例过不去,还坚信是大样例错了

  最后发现自己伪了,结果心态直接爆炸

  觉得自己这场完了,甚至没有再考虑一下T1能拿57的$n^2$暴力

  三道题都打了指数暴力+一些无脑qj

  T1指数还挂了233

  

  怎么说呢,算上昨天的内存爆炸,我这两天可以说是相当的没状态

  也许是对自己的期望过高了

  而且看见没思路的题就容易炸心态

  害怕调暴力浪费时间,其实是好高鹜远想直接拿100(然而这次这种策略失败了

  暴力该打还是要打的,至少能拿>40分的暴力值得一打

  如果正解没思路则必须打,可能会成为想到正解的灵感啥的,可以稳住心态和节省对拍暴力

  我这么劝自己都劝了多少次了

  

  T1 Reverse

    注意子串只能是母串的一部分

    所以bfs时会受到两种限制

    set保证复杂度

  T2 Silhouette

    神仙的容斥原理。

    考虑将两个限制排序,从大到小计算。

    为什么是从大往小,因为题目限制了最大值,所以每行每列后续可以无限制地放置较小的数,但不能放置更大的数

    也就是说先计算的不会受到后计算的限制

    

    发现排序后面临这样一个子问题:给定一个区域,保证其每行每列的最大值都为一个定值S的方案数

    发现这个区域一定是矩形和L形

    考虑一个$a*b$的矩形,我们要求出$g(0)=恰好有0行的最大值达不到S的方案数$

    考虑容斥,设$f(i)=至少有i行的最大值达不到S的方案数$

    由于按行容斥,我们必须保证每一列必须合法

    对于这个矩形,每一列又是等效的

    $f(i)=\sum \limits_{i=0}^a C_{a}^i * (S^i * ((S+1)^{a-i} - S^{a-i} ))^b$

    组合数的意义是钦定哪些行一定不合法,由于可以选0,S的i次幂表示这一列的那i行一定不能选到S,S+1的次幂表示可以选到S

    那么$(S+1)^i - S^i$表示这一列至少选到了一个S,由此保证了此列一定合法

    又因为保证了有i行选不到S,剩下的行不确定,所以保证了至少i行不合法。

    则$g(0)=\sum\limits_{k=0}^a (-1)^k * f(k)$

    为什么不是$g(0)=f(0)-f(1)$?

    考虑计算$f$时,你乘上的系数$C_a^i$

    这代表你的f是 钦定一个大小为i的集合的行不合法,其余乱选不确定和不合法 的方案和

    每个集合被平等地计算,那么对于一个$j$行不合法的方案数$(j>i)$,他在这个f里被计算了$C_j^i$次

    我们要使所有大于0的$j$都被计算0次,观察在每个i里被计算的次数

    $  i  time(eg:3)$

    $  0  C_3^0 = 1  $

    $  1  C_3^1 = 3  $

    $  2  C_3^2 = 3  $

    $  3  C_3^3 = 1  $

    $(-1)^k$的系数是不是比较显然

    用二项式定理也挺好证明的

    
    考虑拓展到L形,L形的特点就是伸出去的两条线所在的行/列的lim一定大于此时的S

    也就是:那些行/列在之前已经被满足,不必强迫他们必须选到S

    所以我们容斥时,只需要枚举交集部分矩形的行数(只有他们可能非法),而计算横向伸出去的方案数时也不必保证此列选到S,所以柿子成了

    $f(i)=\sum\limits_{i=0}^a C_a^i * (S^i*((S+1)^{a+c-i}-S^{a+c-i}))^b * (S^i * (S+1)^{a-i})^d$

    设交集部分为a行b列,向上伸出c行,向右伸出d列

    然后这题就没了,由于每一行只会被枚举到一次,快速幂需要log,总复杂度$nlogn$

  T3 QWQ

    鸽鸽鸽鸽鸽鸽鸽鸽鸽

CSPS模拟 59的更多相关文章

  1. 反省——关于csp-s模拟50

    本人于搜索csp-s模拟49题解时,有意识地点开了一篇关于csp-s模拟50T2的题解,并知道了题解是二维前缀和以及四维偏序. 更重要的是,那篇博客说有解法二,叫二维莫队. 于是我上网搜索二维莫队,结 ...

  2. csp-s模拟测试99

    csp-s模拟测试99 九九归一直接爆炸. $T1$一眼板子. $T2$一眼语文题(语文的唯一一次$120+$是给模拟出来的可知我的语文能力). $T3$一眼普及题. ?? Hours Later 板 ...

  3. csp-s模拟测试98

    csp-s模拟测试98 $T1$??不是我吹我轻松手玩20*20.$T2$装鸭好像挺可做?$T3$性质数据挺多提示很明显? $One$ $Hour$ $Later$ 这$T1$什么傻逼题真$jb$难调 ...

  4. csp-s模拟测试97

    csp-s模拟测试97 猿型毕露.水题一眼秒,火题切不动,还是太菜了. $T1$看了一会儿感觉$woc$期望题$T1??$假的吧??. $T2$秒. $T3$什么玩意儿. 40 01:24:46 00 ...

  5. csp-s模拟测试96

    csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 23 ...

  6. csp-s模拟测试95

    csp-s模拟测试95 去世场祭. $T1$:这不裸的除法分块吗. $T2$:这不裸的数据结构优化$Dp$吗. $T3$:这不裸的我什么都不会搜索骗$30$分吗. 几分钟后. 这除法分块太劲了..(你 ...

  7. csp-s模拟测试94

    csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...

  8. csp-s模拟测试93

    csp-s模拟测试93 自闭场. $T1$想到$CDQ$,因为复杂度少看见一个$0$打了半年还用了$sort$直接废掉,$T2$,$T3$直接自闭暴力分都没有.考场太慌了,心态不好. 02:07:34 ...

  9. csp-s模拟测试92

    csp-s模拟测试92 关于$T1$:最短路这一定建边最短路. 关于$T2$:傻逼$Dp$这一定线段树优化$Dp$. 关于$T3$:最小生成树+树P+换跟一定是这样. 深入(?)思考$T1$:我是傻逼 ...

随机推荐

  1. 基于微信小程序云开发实现的婚礼邀请函模板,可自行定制开发

    这个婚礼邀请函是之前帮别人做的,现在人家婚礼举办过了也没啥关系了,想着就修改成通用模板进行开源,方便大家尤其是小白们克隆项目之后稍微修改就能够直接使用. 当时自己开始这个项目时候也是查阅了很多教程文章 ...

  2. ORM查询2

    目录 十三式 2式(针对外键查询优化) select_related和prefetch_related prefetch_related 查询返回值类型 不等式查询 关键字查询 时间查询 跨表查询 组 ...

  3. python编程基础之二十六

    偏函数:当一个函数有大量的参数时候,调用时候非常不方便,于是就可以用偏函数解决,将一些参数固定(默认值),达到简化函数调用的目的 使用偏函数需要导入functools import functools ...

  4. 从输入URL到页面渲染完成 -戈多编程

    1.输入URL地址 2.浏览器根据域名查询IP地址 3.浏览器发送HTTP请求到web服务器 4.服务器返回一个永久重定向响应 5.浏览器会跟踪重定向地址 6.服务器处理请求 7.服务器返回一个HTM ...

  5. 用深度学习做命名实体识别(七)-CRF介绍

    还记得之前介绍过的命名实体识别系列文章吗,可以从句子中提取出人名.地址.公司等实体字段,当时只是简单提到了BERT+CRF模型,BERT已经在上一篇文章中介绍过了,本文将对CRF做一个基本的介绍.本文 ...

  6. 并发新构件之DelayQueue:延时队列

    DelayQueue:延时队列,首先是一个队列,所以可以持有对象,但是仅限于实现了Delayed接口的对象.重写getDelay()和compareTo()(因为要比较)方法: 通俗来讲:延时队列的就 ...

  7. 代码审计-YXcms1.4.7

    题外: 今天是上班第一天,全都在做准备工作,明天开始正式实战做事. 看着周围稍年长的同事和老大做事,自己的感觉就是自己还是差的很多很多,自己只能算个废物. 学无止境,我这样的垃圾废物就该多练,保持战斗 ...

  8. call,apply和bind详解

    一.call和apply call和apply其实是同一个东西,区别只有参数不同,call是apply的语法糖,所以就放在一起说了,这两个方法都是定义在函数对象的原型上的(Function.proto ...

  9. 数据结构4_java---顺序串,字符串匹配算法(BF算法,KMP算法)

    1.顺序串 实现的操作有: 构造串 判断空串 返回串的长度 返回位序号为i的字符 将串的长度扩充为newCapacity 返回从begin到end-1的子串 在第i个字符之前插入字串str 删除子串 ...

  10. mfc字符转码

    std::wstring UTF8ToUnicode(const std::string& utf8string) {  , utf8string.c_str(), -, NULL, );   ...