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序即可化作二维坐标上的问题

  1. lca(x,y)!=x&&lca(x,y)!=y, \(a \in [L[x],R[x]]\) ,\(b\in[Lt[y],Rt[y]]\)

  2. 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]]\)

  3. 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的更多相关文章

  1. [No000094]SVN学习笔记4-版本库概念与部分日常操作

    基本概念 版本库 Subversion 使用集中的数据库,它包含了所有的版本控制文件及其完整历史.这个数据库就是版本库.版本库通常位于运行 Subversion 服务器的文件服务器上,向 Subver ...

  2. Maven日常 —— 你应该知道的一二三

    以前在日常工作中,使用Maven只是机械的执行Maven clean.Maven install,对其中的原理与过程并无了解,近期阅读了<Maven实战>,对Maven有了更深入的理解. ...

  3. 三星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 ...

  4. Effective Objective-C 2.0之Note.04

    “类族”(class cluster)是一种很有用的模式(pattern),可以隐藏“抽象基类”(abstract base class)背后的实现细节.Objective-C的系统框架中普遍使用此模 ...

  5. MongoDB日常保养

    它引入了程序来进行维护管理工具 MongoDB的日常维护包含使用配置文件,设置訪问控制.Shell交互,系统监控和管理,数据库日常备份和恢复 启动和停止MongoDB 启动后能够通过数据库的IP加po ...

  6. ubuntu日常使用指南

    目录 换源 开发相关的基本包 vimrc python, pip zsh, oh-my-zsh, josh 配置android相关环境 查看库文件(libxxx.a/libxxx.so,动态静态库均可 ...

  7. 【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 ...

  8. 日常英语---四、vis.js是什么

    日常英语---四.vis.js是什么 一.总结 一句话总结:A dynamic, browser based visualization library. 动态基于浏览器的可视库 http://vis ...

  9. 日常英语---七、[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.标准) 一.总结 一 ...

随机推荐

  1. Ribbon【入门】

    公共依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId>sprin ...

  2. VC++单文档程序固定菜单栏和工具栏

    MainFrm.cpp框架类下,找到OnCreate方法 m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking( ...

  3. Django路由配置

    Django路由配置系统.视图函数 1.路由配置系统(URLconf) URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是 ...

  4. SAS学习笔记9 利用SAS绘制地图

    绘制世界地图 proc gmap过程: map=指定绘图的map数据集 data=指定地图的对应数据集 id指定map数据集和对应数据集中都有的变量,一般为各区域的代码,作为两个数据集的连接变量 分色 ...

  5. 通过命令行新建qt项目,并编译打包

    ref: https://blog.csdn.net/weixin_42837024/article/details/81945656 平台 :Ubuntu 18.04 QT版本   :5.9.1 ( ...

  6. sqlite3 下载和安装步骤

    1 下载地址 https://www.sqlite.org/2019/sqlite-tools-win32-x86-3300100.zip 2 添加系统变量 path中添加  sqlite3.exe所 ...

  7. 如何将 HTML 转换为 XHTML

    1.添加一个 XHTML <!DOCTYPE> 到你的网页中 2.添加 xmlns 属性添加到每个页面的html元素中 3.改变所有的元素为小写 4.关闭所有的空元素 5.修改所有的属性名 ...

  8. JAVA的转义字符

    一.常见的转义字符 转移字符对应的英文是escape character  , 转义字符串(Escape Sequence) 字母前面加上捺斜线"\"来表示常见的那些不能显示的AS ...

  9. Navicat远程连接centos上mysql出错

    原因1:mysql账户是不允许远程连接 参考:centos安装mysql(for 小白) 打开远程连接 原因2:3306端口未开启 开启端口:iptables -I INPUT -p tcp --dp ...

  10. 搭建nginx静态资源站

    搭建静态资源站包括以下几部分: root指令与alias指令的区别 使用gzip压缩资源 如何访问指定目录下的全部资源文件 如何限制访问流量 如何自定义log日志 root指令与alias指令的区别 ...