日常note
1.插入使相同的最少次数
给定两个序列A,B
每次只能进行把一个元素插入特定位置的操作
求至少对A进行多少次才能使A等于B
设A,B的长度为Len,那么答案为 \(Len-LCS(A,B)\)
2.\(A_{i-1}+A_{i+1} \ge 2\times A_i\)
会发现这个东西,就是一个下凸函数
3.字符串本质不同方案
dp[0]=1;
FOR(i,1,n){
dp[i]=dp[i-1]*2-sum[str[i]];
sum[str[i]]=dp[i-1];
}
然后有一个扩展的式子
大概是对于每个字符,取它的概率为\(p_i\),求期望本质不同方案数
dp[0]=1;
FOR(i,1,n){
dp[i]=(dp[i-1]*2-sum[str[i]])*p[i]+dp[i-1]*(1-p[i]);
sum[str[i]]=dp[i-1]*p[i]+sum[str[i]]*(1-p[i]);
}
4.树形背包合并是\(O(n^2)\)的
复杂度比较容易证明
把合并两个子树的过程看做枚举以 \(son[x][i]\) 为左端点,以 \(son[y][j]\) 作为右端点路径
这样的路径一共只有 \(n\times (n-1)\) 条
所以下面合并子树的次数也只有 \(n\times (n-1)\) 次
void dfs(int x,int f){
sz[x]=1;
LFOR(i,x,E){
int y=E[i];
if(y==f)continue;
dfs(y,x);
sz[y]+=sz[x];
memset(DP[x],0,sizeof DP[x]);
FOR(i,0,sz[x])FOR(j,0,sz[y])dp[x][i+j]+=dp[x][i]*dp[y][j];
memcpy(dp[x],DP[x],sizeof dp[x]);
}
}
5.1e5以内因子个数最多为128 [这个数为83160]
6.树上路径问题
比如要表示包含某条路径(x,y)的点对
利用dfs序即可化作二维坐标上的问题
当
lca(x,y)!=x&&lca(x,y)!=y, \(a \in [L[x],R[x]]\) ,\(b\in[Lt[y],Rt[y]]\)当
lca(x,y)==x&&lca(x,y)!=y定义s为y所在的关于x的子树的根节点,\(a\in [1,L[s]-1]\cup[R[s]+1,n]\) ,\(b\in [L[y],R[y]]\)
当
x==y定义s为x子树 , \(a \in [1,L[s]-1]\cup[R[s]+1,n]\) ,\(b\in[L[s],R[s]]\)
或者 \(a=L[s]\) \(b\in [1,n]\)
日常note的更多相关文章
- [No000094]SVN学习笔记4-版本库概念与部分日常操作
基本概念 版本库 Subversion 使用集中的数据库,它包含了所有的版本控制文件及其完整历史.这个数据库就是版本库.版本库通常位于运行 Subversion 服务器的文件服务器上,向 Subver ...
- Maven日常 —— 你应该知道的一二三
以前在日常工作中,使用Maven只是机械的执行Maven clean.Maven install,对其中的原理与过程并无了解,近期阅读了<Maven实战>,对Maven有了更深入的理解. ...
- 三星Galaxy Note 10.1 N8010 最后的救赎 Andorid 5.0.2 ROM
上市日期为2012年的三星Galaxy Note N8010 10.1采用10.1英寸TFT屏幕,分辨率为1280×800,支持10点触控,支持S pen手写笔功能.,拥有一颗1.4GHz Exyno ...
- Effective Objective-C 2.0之Note.04
“类族”(class cluster)是一种很有用的模式(pattern),可以隐藏“抽象基类”(abstract base class)背后的实现细节.Objective-C的系统框架中普遍使用此模 ...
- MongoDB日常保养
它引入了程序来进行维护管理工具 MongoDB的日常维护包含使用配置文件,设置訪问控制.Shell交互,系统监控和管理,数据库日常备份和恢复 启动和停止MongoDB 启动后能够通过数据库的IP加po ...
- ubuntu日常使用指南
目录 换源 开发相关的基本包 vimrc python, pip zsh, oh-my-zsh, josh 配置android相关环境 查看库文件(libxxx.a/libxxx.so,动态静态库均可 ...
- 【Java】NO.80.Note.1.Java.1.001-【Java 各种特性概念】
1.0.0 Summary Tittle:[Java]NO.80.Note.1.Java.1.001-[Java 各种特性概念] Style:Java Series:Java Since:2018-0 ...
- 日常英语---四、vis.js是什么
日常英语---四.vis.js是什么 一.总结 一句话总结:A dynamic, browser based visualization library. 动态基于浏览器的可视库 http://vis ...
- 日常英语---七、[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准)
日常英语---七.[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准) 一.总结 一 ...
随机推荐
- protobuf 序列化 使用
protocol buff是一种协议,是谷歌推出的一种序列化协议 .Java序列化协议也是一种协议 两者的目的是,将对象序列化成字节数组,或者说是二进制数据 导包 <dependency> ...
- 还是a+b
题目描述: 给定 2 个正整数 a, b,a 和 b 最多可能有 40 位,求出 a + b 的和.输入描述: 两个正整数 a, b,a 和 b 最多可能有 40 位.一行表示一个数.输出描述: a ...
- 20191011-构建我们公司自己的自动化接口测试框架-TestData的数据准备
创建excel测试数据准备,excel的第一个sheet存储测试集,后面分别为测试用例和断言结果表 测试集构成如下: 按列分别为测试序号,测试用例说明,对应的sheetname,测试用例是否允许,测试 ...
- MyBatis_01 框架
Mybatis概述 Mybatis是什么 Mybatis是一个持久层框架. Mybatis的作用 Mybatis是一个持久层框架,当然作用就是操作数据库的(增删改查). 为什么需要学习Myba ...
- SQLSERVER中计算某个字段中用分隔符分割的字符的个数
比如字段sid中用'|'分割的一些字符 a|b|c|d,需要通过sql查询出字符的个数是4. 可以使用如下脚本: SELECT LEN(sid)-LEN(REPLACE(sid,'|',''))+ ...
- C# DateTime Subtract
DateTime start = DateTime.Now.AddDays(-20); DateTime end = DateTime.Now; TimeSpan ts = end.Subtract( ...
- MH-P虚拟机DSR中安装SQL2008
双击下载好的安装文件setup.exe.(注意:安装之前请确认是否有安装SQL Server 2008 R2需要的.NET Framework 3.5 SP1,我的环境由于之前有配置安装过,在这里不具 ...
- MarkDown 语法大全查询
目录 1. 斜体和粗体 2. 分级标题 3. 超链接 3.1. 行内式 3.2. 参考式 3.3. 自动链接 4. 锚点 5. 列表 5.1. 无序列表 5.2. 有序列表 5.3. 定义型列表 5. ...
- INTEL_BIOS 编译—for-ATOM_E3800
INTEL_BIOS 编译—for-ATOM_E3800 ======================================================================= ...
- springboot启动流程(二)SpringApplication run方法核心逻辑
所有文章 https://www.cnblogs.com/lay2017/p/11478237.html run方法逻辑 在上一篇文章中,我们看到SpringApplication的静态方法最终是去构 ...