【2018.10.20】CXM笔记(思维)
1. 给你个环状字符串,问从哪个地方拆开能使它的字典序最小。
先预处理任意子串的哈希值。
然后枚举拆点,将它与当前最优的拆点比较谁更优(就是从哪拆的字典序更小),具体方法是二分+哈希找出两串最长的相同前缀(2018.10.21 update:也可以倍增预处理哈希值,然后),然后比较这个前缀后的第一个字符,就判断出谁的字典序更小了。
2. $M\le 10^9,x=1,A_i\le 10^9,Q\le 10^5$。有两种操作,一种是 $x*=A_i$,一种是求$x/A_k\mod M$($k$为一给定值)。
3. $C∈P,C\le 2*10^5$,$k_1,k_2,b_1\le 10^9$,求$(a,b)$对数,使$1\le a,b\le C$ 且 $∀n∈N+$ 且 $a^{k_1*n+b_1}+b^{k_2*n-k_2+1}\equiv 0 (mod\space C)$。
把$n=1,2,3,...$等情况代进去推结论就好了。
4. 给你一个$W*H$的矩阵,再给你一些询问的答案(询问一个子矩阵的最大值),问有多少种满足条件的原矩阵。$1\le W,H\le 10^4, 0\lt a_{i,j}\le 10^4, Q\le 10$。
先离散化询问矩阵,把非询问边界的行列离散化掉。
把询问按照答案从大到小排序,对每块染不同的色(颜色=询问的最大值,后染的覆盖先染的)。最后对每种颜色的连通块计算答案(情况数=颜色对应最大值*连通块原大小(就是离散化前的))。
但是很快发现如果答案相同的块重叠了,上述方法就挂了。(因为在如果重叠区域没有最大值,两边的非重叠区域就都要放最大值,而不能只放一个)
所以对于多个答案相同的询问,把这些询问区域的全集的每一块按照覆盖次数分组,具体方法就是把每个矩阵内所有位置的编号$+2^k$($k$随编完号的询问的数量的增多而增加,初始为$0$)
其实就是二进制编号。
然后设$f(i,s)$表示处理完前$i$个询问区域后,已经有一个最大值的区域集合。
那么如果当前区域放最大值,$f(i-1,s)$就转移到$f(i,s|g(i))$,其中$g(i)$表示覆盖第$i$个区域的原矩阵。
如果当前区域不放最大值,$f(i-1,s)$就转移到$f(i,s)$。
【2018.10.20】CXM笔记(思维)的更多相关文章
- OSC Source Code Innovation Salon(2018.10.20)
时间:2018.10.20地点:北京 朝阳 浦项中心B座2层
- 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)
i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...
- 2018.10.20 XMYZ Day1总结
上周的忘写了……题目没有作者…… T1.backpack 期望得分100,实际得分100. 感觉我自己真是不如以前了……以前做这种题都是秒掉的,现在怎么想了10分钟啊…… 因为物品的体积和价值都非常小 ...
- POI 2018.10.20
[POI2005]BANK-Cash Dispenser 有多少个4位字符串是所有操作序列的子串. 10^4枚举字符串.暴力判断会TLE 发现,我们就是在每个操作序列中不断找第一个出现的c字符. 预处 ...
- 2018.10.20 bzoj2748: [HAOI2012]音量调节(背包)
传送门 这题是不是太sbsbsb了一点. 难度直逼普及-. 直接背包判存在性就行了. 代码: #include<bits/stdc++.h> using namespace std; bo ...
- 2018.10.20 bzoj1925: [Sdoi2010]地精部落(dp)
传送门 dp好题. 设f[i][j]f[i][j]f[i][j]表示iii个数结尾是jjj且结尾两个数递增的方案数. 那么显然可以对称的定义出g[i][j]g[i][j]g[i][j]表示iii个数结 ...
- 2018.10.20 bzoj1079: [SCOI2008]着色方案(多维dp)
传送门 dp妙题. f[a][b][c][d][e][last]f[a][b][c][d][e][last]f[a][b][c][d][e][last]表示还剩下aaa个可以用一次的,还剩下bbb个可 ...
- 2018.10.20 bzoj1068: [SCOI2007]压缩(区间dp)
传送门 这题转移很妙啊. f[l][r][1/0]f[l][r][1/0]f[l][r][1/0]表示对于区间[l,r][l,r][l,r]有/无重复的机会时压缩的最小值. 那么可以从三种情况转移过来 ...
- 2018.10.20 loj#2593. 「NOIP2010」乌龟棋(多维dp)
传送门 f[i][j][k][l]f[i][j][k][l]f[i][j][k][l]表示用iii张111,jjj张222,kkk张333,lll张444能凑出的最大贡献. 然后从f[i−1][j][ ...
随机推荐
- 使用 Azure 创建网络文件系统
本快速入门介绍了如何使用 Azure 文件存储实现网络文件共享.在本教程中完成的所有操作均符合 1 元试用条件. 本快速入门介绍了如何使用 Azure 文件存储实现网络文件共享.在本教程中完成的所有操 ...
- C# 一维数组 二位数组 多维数组
什么是数组? 数组是一组变量,就是把一些变量串在一起,放在一块. 数组的作用? 假设有一堆变量,每个变量都有一些程序,那么这堆程序放在一起 程序就会混乱,处理起来有些麻烦,那么数组就是把这些变量放在 ...
- ABAP Netweaver, SAP Cloud Platform和Kubernetes的用户区分
ABAP Dialog: Individual, interactive system access. System: Background processing and communication ...
- C#背景图片自适应
1.选中窗体修改属性 2.在load添加代码 private void Form1_Load(object sender, EventArgs e) { this.BackgroundImageLay ...
- nuxt 头部引入js文件 第一次进入页面不加载js文件的解决方法
head () { return { title: '', meta: [ { hid: 'description', name: 'description', content: '' } ], sc ...
- CAD控件界面显示与隐藏(网页版)
控件界面工具栏的显示或隐藏,js代码实现如下: 1 2 3 4 5 6 7 8 9 //隐藏/显示工具栏 mxOcx.ShowToolBar("常用工具",isShow ...
- fckeditor的实例
第一步:去官网下载,删除多余的包 删除所有”_”开头的文件和文件夹 删除FCKeditor的目录下: fckeditor.afp fckedit ...
- 原 荐 使用Spring Boot Actuator、Jolokia和Grafana实现准实时监控
原 荐 使用Spring Boot Actuator.Jolokia和[可视化]Grafana实现准实时监控. 监控系统: 日志- 基础处理 - 表格 - 可视化一体化解决方案. ...
- Shell脚本中循环语句for,while,until用法
循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...
- Python Cookbook3 Python进阶教程 http://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html
http://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html