[总结] 零散的 tricks
对于类似构造方案的题目,先确定其中一些关键位置的方案,然后看是否能较为简单地推出其他位置的方案。
一个长度为 \(n\) 的序列,满足
\[a_1\le-a_4\le a_7\le-a_{10}\le\cdots\\
a_2\le-a_5\le a_8\le-a_{11}\le\cdots\\
a_3\le-a_6\le a_9\le-a_{12}\le\cdots
\]有 \(q\) 次询问,每次给出 \(l,r\),问通过 \(+1,-1\) 操作使得区间 \([l,r]\) 满足 \(a_i=a_{i-1}+a_{i+1}\) 的最小代价。
\(n,q\le 10^5\)
对于类似构造方案的题目,先将大部分位置以相对粗糙的方式调为合法,此时最后几个位置限制会增多些,这时候再精细讨论。
给定两个长为 \(n(n>5)\) 的字符串 \(S,T\),字符集是 \(\{R,W,Y\}。\)
令 \(L_i=i-1,R_i=i+1\) ,特别的,\(L_1=n,R_n=1\)。
如果 \(S_{L_i}\neq S_{R_i}\) ,那么你可以自由修改 \(S_i\)。
求一种方案使得 \(S=T\)。
对于题目贡献是 \(\frac{x}{y}\) 这种形式,可以看成斜率,维护凸包来处理。
一个长为 \(n\) 的序列,区间 \([l,r]\) 的贡献是 \(\frac{\sum_{i=l}^r x_i}{r-l}\),\(q\) 个询问,每次给出 \(l,r\),为该区间贡献最大的子区间。
\(n\le 10^5,q\le3\times10^4\)
对于题目贡献是 \(\frac{x}{y}\) 这种性质,可以通过假定答案,从而实现移项去掉分数,然后 check 是否能达到。
有一张点数为 \(n\) 的完全图,从中选 \(n\) 条边 \((x,y)\),要求每个点作为 \(x,y\) 各恰好一次,令 \(\frac{\sum a_{x,y}}{\sum b_{x,y}}\) 最大。
对于要在若干对点之间连线,按距离算贡献的题目,一种设状态的方式是当前还有多少线悬在空中,也是一种提前算费用
数轴上有 \(n\) 个红点,\(m\) 个蓝点,要求每个点至少和一个异色点连线,代价是距离,求最小代价。
\(n,m\le10^5\)
对于构造类题目,有 \(x\) 种颜色,\(y\) 的限制,一种满足限制的构造技巧是 \(y^x>n\)
一个 \(n\) 个点,\(m\) 条边的 DAG,用三种颜色给 \(m\) 条边染色,要求连续的同色边不能到 \(42\) 条。
\(n\le5\times10^4,m\le2\times10^5\)
对于要求字符串本质不同的题目,都可以丢到相应的自动机上。
求本质不同回文子序列。
\(n\le5000\)
对于多串的匹配相关题目,往往要依靠 AC 自动机去重,然后来实现。
给定正整数 \(m\) 以及 \(n\) 个 \(01\) 串 \(s_1\sim s_n\),你需要求出长度为 \(2m\) 的反对称的包含这 \(n\) 个 \(01\) 串作为子串的 \(01\) 串的个数。对 \(998244353\) 取模。
一个 \(01\) 串 \(s\) 是反对称的当且仅当它对于 \(1\le i\le |s|\) 都满足 \(s[i]≠s[|s|-i+1]\)。\(n\le6,|s|\le100,m\le500\)
对于线段树每个节点都要倍增,因此复杂度过高,可以将线段树补成每个节点都是 \(2^n\),就只要倍增一次。
一开始先给出 \(n\) 个字符串 \(T_i\),再给出字符串 \(S\),然后进行操作。
一共操作 \(Q\) 次,分为两种:
1 l r str:把 \(S\) 的区间 \([l,r]\) 的字符串修改为字符串 \(str\) 不停重复的结果。
2 l r:询问 \(T_1\sim T_n\) 在 \(S\) 的区间 \([l,r]\) 中一共出现了几次。
注意每次修改对之后的操作是有影响的。保证所有 \(T_i\) 插入一个字典树后,字典树大小不超过 \(50\).
\(n≤50,Q≤100000,|S|≤100000\),所有修改操作的 \(str\) 的长度总和不超过 \(|S|\)。
对于字典序大小相关的题目,考虑第一个不同的位置来比较字典序。
给定一个 \(n\) 个元素的 \(k\) 叉堆,权值是一个排列,问在所有的权值是一个排列的 \(k\) 叉堆中,给出的堆的字典序排名。
\(n,k\le 3000\)
对于维护一段合法前缀类的问题,可以用线段树二分。
给出一个 \(n\) 个点的树,权值为 \(0\sim n-1\) 的一个排列,问最大路径 \(\rm{mex}\) 的多少。
每次修改是交换两个点的权值,多次询问。
\(n\le2\times10^5\)
在 \([1,V]\) 中随机选 \(n\) 个数,第 \(k\) 小的期望大小是 \(\frac{k}{n}V\).
给出 \(n\) 个点,\(m\) 条边的 DAG,问每个点能到几个点。
\(n,m\le10^6\).
对于排序不影响答案的题目,不妨先排序。
给出若干正方体堆砌的主视图和左视图,求所有方案的正方体个数之和。
\(n,m\le5\times10^5\)
需要二分图染色的结果,建图只要连通即可。
给一个排列做双栈排序,判断是否可行,并输出字典序最小的方案。
\(n\le 10^5\)。
对于每组选一个数,不同组贡献为乘积的数,可以用类似生成函数的方式表示+维护。
你有 \(n\) 个正整数,第 \(i\) 个在集合 \(B_i\) 中均匀独立随机。
然后按照结果最大的顺序把 \(a_1\sim a_n\) 拼起来,求最大结果的期望值。
\(n\le2333,\sum|B_i|\le23333,|S|\le1919810\).
求形如 \(\sum a_i^2\) 类的东西,可以一对一对考虑。
黑盒子里有 \(nk\) 个白球,重复 \(n\) 次操作:放入 \(k\) 个黑球,取出 \(2k\) 个球.
记 \(E(i)\) 表示第 \(i\) 次操作期望意义下取出的黑球数,求:\(\sum E(i^2)\)
\(n\le 10^6, k\le 100\).
两个图叠加后,重心位于两个原重心的路径上。
树的 dfs 序列的带权重心一定在树的带权重心的子树中。
给你一棵 \(n\) 个点的树,支持子树加和链加,询问每次修改后的带权重心。
\(n,q\le 3\times 10^5\)
[总结] 零散的 tricks的更多相关文章
- Android零散
2016-03-13 Android零散 ListView中嵌套GridView 要实现分组列表这样的效果:点击ListView中的分组名称,即展开此分组显示其包含的项目.使用ExpandableLi ...
- testng 教程之使用参数的一些tricks配合使用reportng
前两次的总结:testng annotation生命周期 http://www.cnblogs.com/tobecrazy/p/4579414.html testng.xml的使用和基本配置http: ...
- (转) How to Train a GAN? Tips and tricks to make GANs work
How to Train a GAN? Tips and tricks to make GANs work 转自:https://github.com/soumith/ganhacks While r ...
- Matlab tips and tricks
matlab tips and tricks and ... page overview: I created this page as a vectorization helper but it g ...
- LoadRunner AJAX TruClient协议Tips and Tricks
LoadRunner AJAX TruClient协议Tips and Trickshttp://automationqa.com/forum.php?mod=viewthread&tid=2 ...
- 【翻译】C# Tips & Tricks: Weak References - When and How to Use Them
原文:C# Tips & Tricks: Weak References - When and How to Use Them Sometimes you have an object whi ...
- 零散知识记录-一个MQ问题
[背景]我有一项零散工作:维护大部门的一台测试公用MQ服务器.当大部分MQ被建立起来,编写了维护手册,大家都按照规程来后,就基本上没有再动过它了.周五有同学跟我反映登录不进去了,周日花了1个小时来解决 ...
- 神经网络训练中的Tricks之高效BP(反向传播算法)
神经网络训练中的Tricks之高效BP(反向传播算法) 神经网络训练中的Tricks之高效BP(反向传播算法) zouxy09@qq.com http://blog.csdn.net/zouxy09 ...
- iOS网络相关零散知识总结
iOS网络相关零散知识总结 1. URL和HTTP知识 (1) URL的全称是Uniform Resource Locator(统一资源定位符). URL的基本格式 = 协议://主机地址/路径 ...
随机推荐
- 为什么线程通信的方法 wait(), notify()和 notifyAll()被定 义在 Object 类里?
Java 的每个对象中都有一个锁(monitor,也可以成为监视器) 并且 wait(),notify() 等方法用于等待对象的锁或者通知其他线程对象的监视器可用.在 Java 的线程中 并没有可供任 ...
- Django获取请求的IP地址
if request.META.get('HTTP_X_FORWARDED_FOR'): ip = request.META.get("HTTP_X_FORWARDED_FOR") ...
- 攻防世界baby_web
baby_web 题目提示想想初始页,但我们一访问就会跳转到1.php我们使用bp抓包分析,我们发送到repeater模块修改请求访问1.php内容看看 发现flag隐藏了我们去hex中看看 这样我们 ...
- AD软件Bug和自我失误的对战
说说我近期犯的两大过失,让我无语的过失,要购买重大责任险呀 一大过失:上图,看了下面的图想必大家都明白了,TOP层元件只有位号和焊盘,丝印边框哪去了? 别急,在这里,下图 为何他跑这里来了呢?我尝试了 ...
- 小程序刷新webview小结
场景 在小程序其它页面做了操作,数据发生改变,回到webview页面时需要更新webview里面的数据.由于小程序没有提供与webview的实时通信能力,因此刷新页面是个可考虑的做法. 方法一 最常见 ...
- Wepy-小程序踩坑记
引言 用过原生开发的小程序也知道除了api 其他功能性的内容并不多对于需要做大型项目来说是比较难入手的,因此朋友推荐的wepy我就入坑鸟...这么一个跟vue的开发方式类似的框架,不过说起来跟vue类 ...
- 移动端城市定位,城市区域代码adcode
使用高德定位API : AMap.Map('iCenter') AMap.CitySearch() 先在高德开放平台注册申请定位权限的key. 网站:高德开放平台 在需要定位的页面引入有定位key的s ...
- css3种不知道宽高的情况下水平垂直居中的方法
第一种:display:table-cell 组合使用display:table-cell和vertical-align.text-align,使父元素内的所有行内元素水平垂直居中(内部div设置di ...
- k8s 初始化环境(1)
概念 k8s/kubernetes 容器化部署 解决容器编排问题,kubernetes为容器编排软件的佼佼者 kubernets为一组服务器集群 功能 自我修复 一个容器崩溃,另一个容器起来 弹性伸缩 ...
- [已解决] 含gorm、sqlite3包的go程序构建失败 C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
gorm官方文档教程实例,构建出现错误.C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit st ...