日常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.标准) 一.总结 一 ...
随机推荐
- [CF620E]New Year Tree_dfs序_线段树_bitset
New Year Tree 题目链接:http://codeforces.com/problemset/problem/620/E 数据范围:略. 题解: 转化成序列问题,发现颜色种数特别少,暴力用数 ...
- K8S从入门到放弃系列-(5)kubernetes集群之kube-apiserver部署
摘要: 1.kube-apiserver为是整个k8s集群中的数据总线和数据中心,提供了对集群的增删改查及watch等HTTP Rest接口 2.kube-apiserver是无状态的,虽然客户端如k ...
- Linux安装 PostgreSQL
1.在线安装 yum install postgresql-server -y 2.初始化数据库 service postgresql initdb 3.设置自动启动 hkconfig postgre ...
- Python split()方法分割字符串
Python 中,除了可以使用一些内建函数获取字符串的相关信息外(例如 len() 函数获取字符串长度),字符串类型本身也拥有一些方法供我们使用. 注意,这里所说的方法,指的是字符串类型 str 本身 ...
- SAS学习笔记43 宏语句
流程控制 %GOTO语句与%label语句是结合起来使用的.首先通过%label语句定义一个位置,使用%GOTO语句可直接将程序的执行位置跳到该label标记位置,达到控制程序执行顺序的目的.可实现与 ...
- (七)Hibernate中使用JDBC
在hibernate中获取connection数据库连接有两种方法:(操作数据库常用这种方法) 1. session.doReturningWork 返回一个对象,适用于查询方法 2. sessi ...
- .NET Core 使用ModelBinder去掉所有参数的空格
一.前言 通过各种姿势搜索都没搜到这方面的,唯一找到一个比较符合的,但是只适合简单类型,而且代码还没贴全,心累.. 然后查看官网和源码之后,发现继承并实现 IModelBinder和IModelBin ...
- Python考试_第一次
python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1. 简述变量命名规范(3分) 答:(1) 变量为数字,字母以及下划线的任意组合,且不能以 ...
- js的数据类型、函数、流程控制及变量的四种声明方式
运算符 基本运算符 加 + 减 - 乘 * 除 / 取余 % 自增 ++ eg: 1++ 或 ++1 自减 -- eg: 1-- 或 --1 注:++或--写在前面表示优先级最高,先进行自增或者自减 ...
- Java 面向对象(七)多态
一.多态概述(Polymorphism) 1.引入 多态是继封装.继承之后,面向对象的第三大特性. 通过不同的事物,体现出来的不同的形态.多态,描述的就是这样的状态.如跑的动作,每个动物的跑的动作就是 ...