How many trees? 题目链接:https://www.codeforces.com/contest/9/problem/D 数据范围:略. 题解: 水题. $f_{i,j}$表示$i$个节点,最大深度为$j$的方案,$g_{i,j}=\sum\limits_{k = 1}^{j - 1} f_{i, k}$. 显然,如果我们枚举深度的话,可以用$ntt$优化卷积. 这里写的$O(n^3)$. 代码: #include <bits/stdc++.h> #define setIO(s)…
股票交易 bzoj-1855 Scoi-2010 题目大意:说不明白题意系列++...题目链接 注释:略. 想法:这个题还是挺难的. 动态规划没跑了 状态:dp[i][j]表示第i天手里有j个股票的最大获利. 转移:第i天可以选择搞事情或者什么都不干. 如果不买不卖的话,有dp[i][j]=dp[i-1][j] 如果选择买入,dp[i][j]=dp[i-w-1][k]-ap[i](j-k)|k>=j-as[i] 如果选择卖出,dp[i][j]=dp[i-w-1][k]+bp[i](k-j)|k<…
bzoj-3622 已经没有什么好害怕的了 题目大意: 数据范围:$1\le n \le 2000$ , $0\le k\le n$. 想法: 首先,不难求出药片比糖果小的组数. 紧接着,我开始的想法是 $f_{(i,j)}$表示前$i$个糖果中,满足糖果比药片大的组数是$j$的方案数. 进而发现需要将两个数组排序. 到这里一切都很正常,但是我们发现了一个问题:就是我在转移的时候,分两种情况讨论.第一种是当前糖果配对的药片比自己大,第二种是比自己小. 这样的话我需要乘上两个组合数. 但是我们仔细…
慎二的随机数列 bzoj-4282 题目大意:一个序列,序列上有一些数是给定的,而有一些位置上的数可以任意选择.问最长上升子序列. 注释:$1\le n\le 10^5$. 想法:结论:逢N必选.N是可以任意选择的位置. 具体的,我们将所有N踢出序列,将给定的权值-=前面N的个数.再在当前序列上求最长上升子序列. 正确性的话如果当前序列中的数: 如果前面的数小于后面的数,显然中间的N我也可以加上. 如果前面的数大于后面的数: 如果前面的数在原序列中的权值大于后面的数在原序列中的权值,那么这两个数…
Bill的挑战 bzoj-1879 Sdoi-2009 题目大意: 注释:$1\le t \le 5$,$1\le m \le 15$,$1\le length \le 50$. 想法: 又是一个看数据范围想做法的题,我们想到状压dp. 看了题解... ...网上给的状态是f[len][s]表示长度为len满足状态s的字符串个数. 光看状态... ...可能算重啊?! 其实... ... 状态:dp[len][s]表示长度为len,能且只能满足状态为s的字符串个数. 转移:我们先预处理出g[i]…
理想的正方形 bzoj-1047 HAOI-2007 题目大意:有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 注释:$2\le a,b,n\le 10^3$,$n\le min(a,b)$. 想法:我的思路简直要死.通常的,我们优化暴力来完成对题目的求解.首先,想暴力.漂亮的暴力没想到,倒是想到一个a*b*n*n的,就是枚举每一个点,如果这个点可以作为n*n正方形的左上角,我就暴力枚举这个正方形的所有点.时间复杂度:O((a-n…
垃圾陷阱 luogu-1156 题目大意:Holsteins在距离地面D英尺的地方,FJ间隔时间ti会往下扔第i个垃圾.Holsteins对待每一个垃圾都会选择吃掉或者垫高.Holsteins有10个点儿的生命值,每个垃圾会给她提供f的生命值.每小时Holsteins会消耗一定的生命值.问:Holsteins最早可以什么时候爬出:否则输出Holsteins可以存活多长时间. 注释:$2\le D\le 100$,$0 < t \le 1000$,$1\le h \le 25$,$1\le f \…
最短母串 bzoj-1195 HNOI-2006 题目大意:给一个包含n个字符串的字符集,求一个字典序最小的字符串使得字符集中所有的串都是该串的子串. 注释:$1\le n\le 12$,$1\le max length \le 50$. 想法:刚开始在那里AC自动机半天,然后瞅了一眼数据范围... ...状压吧兄弟!! 首先,我们先做一些预处理:把可以被字符集中串包含的串都删掉:求出两个字符串连接后的长度(这个预处理暴力即可),设merge[i][j]表示串i和串j合并后的长度. 状态:dp[…
Money奶牛的硬币 bzoj-1708 Usaco-2007 Oct 题目大意:在创立了她们自己的政权之后,奶牛们决定推广新的货币系统.在强烈的叛逆心理的驱使下,她们准备使用奇怪的面值.在传统的货币系统中,硬币的面值通常是1,5,10,20或25,50,以及100单位的货币,有时为了更方便地交易,会发行面值为2单位的硬币. 奶牛们想知道,对于一个给定的货币系统,如果需要正好凑出一定数量的钱,会有多少种不同的方法.比如说,你手上有无限多个面值为{1,2,5,10,...}的硬币,并且打算凑出18…
Hay For Sale 购买干草 bzoj-1606 Usaco-2008 Dec 题目大意:约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只能整包购买,他最多可以运回多少体积的干草呢? 想法:傻逼背包裸题,直接01背包即可. 最后,附上丑陋的代码... ... #include <iostream> #include &…
音量调节 bzoj-2748 HAOI-2012 题目大意:有一个初值,给你n个$\delta$值,求最后不超过给定的限制的情况下的改变的最大值.每个$\delta$值可以+也可以-. 注释:$1\le n\le 50$,$1\le 限制\le 1000$. 想法:正负背包.在背包的之后更新用两行更新,保证每一个$\delta$值都被计入了答案. 最后,附上丑陋的代码... ... #include <iostream> #include <cstdio> #include <…
最大子矩阵 bzoj-1084 SCOI-2005 题目大意:给定一个n*m的矩阵,请你选出k个互不重叠的子矩阵使得它们的权值和最大. 注释:$1\le n \le 100$,$1\le m\le 2$,$1\le k\le 10$. 想法:不会...看了数据范围..卧槽?m<=2?????我们就可以进行一个简单的轮廓线dp. 首先,先分m==1和m==2分类讨论,m==1不说了 m==2 令f[k][i][j]是第一列到了i,第二列到了j,已经选取了k个矩形的最大权值. 转移:有3种转移方式:…
Code: #include<cstdio> #include<cstring> #include<deque> #include<algorithm> using namespace std; const int N = 200 + 3; char map[N][N]; int n, m, k, dp[N][N], fin; struct Node{ int x, y, val; Node(int x = 0, int y = 0,int val = 0)…
bzoj4368 IOI2015 boxes纪念品盒 题目链接:https://lydsy.com/JudgeOnline/problem.php?id=4368 数据范围:略. 题解: 如果在一个最优方案中,一个点$i$是这个人拿东西从左侧走过来的,我们就说这个点是蓝的. 如果是右侧的,就说这个点是红. 我们发现,并不存在三个可以不连续的点,满足红蓝红. 即,一定存在一个点$i$,满足$1\sim i$的点是蓝的,$i + 1\sim n$是红的. 接着我们维护一个$dp$状态:$f_i$,表…
子序列子序列子序列... 题目链接:https://cometoj.com/contest/38/problem/C?problem_id=1542 数据范围:略. 题解: 神仙题,感觉这个题比$D$还难一些,$Orz$原题解. http://static.eduzhixin.com/cometoj/solution/contest_38_1.pdf 代码: #include <bits/stdc++.h> #define N 5010 #define M 21 #define Pyd 100…
舞会 题目链接:https://www.luogu.org/problem/P2159 数据范围:略. 题解: 不会.... 看了题解觉得自己好傻逼啊…
[Usaco2004]等差数列 题目大意:约翰发现奶牛经常排成等差数列的号码.他看到五头牛排成这样的序号:“1,4,3,5,7”很容易看出“1,3,5,7”是等差数列.给出N(1≤N≤2000)数字AI..AN(O≤Ai≤10^9),找出最长的等差数列,输出长度. 数据范围:如题面. 题解: 以为是啥神仙题,结果看见了$1\le N\le 2000$. 可以$N^2$啊....... 考虑$DP$呗,设$f_{(i, j)}$表示第$A_i$个数为等差数列第一项,$A_j$为等差数列第二项的最长…
BZOJ_1672_[Usaco2005 Dec]Cleaning Shifts 清理牛棚_动态规划+线段树 题意:  约翰的奶牛们从小娇生惯养,她们无法容忍牛棚里的任何脏东西.约翰发现,如果要使这群有洁癖的奶牛满意,他不得不雇佣她们中的一些来清扫牛棚, 约翰的奶牛中有N(1≤N≤10000)头愿意通过清扫牛棚来挣一些零花钱.由于在某个时段中奶牛们会在牛棚里随时随地地乱扔垃圾,自然地,她们要求在这段时间里,无论什么时候至少要有一头奶牛正在打扫.需要打扫的时段从某一天的第M秒开始,到第E秒结束f0…
51nod_1412_AVL树的种类_动态规划 题意: 平衡二叉树(AVL树),是指左右子树高度差至多为1的二叉树,并且该树的左右两个子树也均为AVL树. 现在问题来了,给定AVL树的节点个数n,求有多少种形态的AVL树恰好有n个节点. 分析: 把一个AVL树拆成根节点,左子树和右子树. 左子树和右子树的情况只有两种:高度相等或者高度差1. 设f[i][j]表示i个结点,高度为j的AVL树的个数. 转移:f[i][j]+=f[k][j-1]*f[i-k-1][j-1]+2*f[k][j-2]*f…
BZOJ_1999_[Noip2007]Core树网的核_单调队列+树形DP Description 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我们称T为树网(treenetwork),其中V, E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点. 路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a,b)表示以a,b为端点的路径的长度,它是该路径上各边长度之和.我们称d(a,b)为a,b两结点间的距离. 一点v到一条路径P…
BZOJ_2097_[Usaco2010 Dec]Exercise 奶牛健美操_二分答案+树形DP Description Farmer John为了保持奶牛们的健康,让可怜的奶牛们不停在牧场之间 的小路上奔跑.这些奶牛的路径集合可以被表示成一个点集和一些连接 两个顶点的双向路,使得每对点之间恰好有一条简单路径.简单的说来, 这些点的布局就是一棵树,且每条边等长,都为1. 对于给定的一个奶牛路径集合,精明的奶牛们会计算出任意点对路径的最大值, 我们称之为这个路径集合的直径.如果直径太大,奶牛们就…
BZOJ_2286_[Sdoi2011]消耗战_虚树+树形DP Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望.已知在其他k个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸毁一些桥梁,使得敌军不能到达任何能源丰富的岛屿.由于不同桥梁的材质和结构不同,所以炸毁不同的桥梁有不同的代价,我军希望在满足目标的同时使得总代价最小. 侦查部…
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PURGE recyclebin; 给表名,字段加别名 : 表名 + 别名 ; 字段 [as] 别名 ; 去重复 : select distinct first_name from employees; 删除重复数据 : 方法1,先查找不重复的,再复制一份查询后不重复的 方法2,用rowID方法 条件查询…
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i; printf("ch[%d] = %c\n", i-97, ch[i-97]); } printf("That is all! thanks~\n"); return 0; } 这是之前写的,有点乱,改了些如下: #include int main(void) {…
HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate中,然后数据库操作,都必须是事务的,哪怕是查询 4 执行数据保存操作(必须提交,才会执行对应的操作方法) 5 提交事务 6 关闭Session session.close(); getCurrentSession();不需要手动关闭,opensession需要手动关闭 7 关闭SessionFact…
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.com/s/1kTlGkcR 总线_设备_驱动注册流程详解 • 注册流程图 • 设备一般都需要先注册,才能注册驱动 – 现在越来越多的热拔插设备,反过来了.先注册驱动,设备来了再注册 设备 • 本节使用的命令 – 查看总线的命令#ls /sys/bus/ – 查看设备号的命令#cat /proc/de…
IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址. 3.2更改MAC地址 方法一:硬件厂家提供的程序修改 方法二:在操作系统 3.3IP地址的作用 3.4IP地址分类 A:(0.0.0.0-127.255.255.255) 255.0.0.0 B:(128.0.0.0-191.255.255.255)255.25…
1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operator, the ## operator can be used in the replacement section of a function-like macro.Additionally, it can be used in the replacement section of an object-like macro. The ## operator co…
宏里面使用: 一.#  转为字符串 #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x))         如果使用PSQR("test2”),则编译出错:而使用PSQR(test2),则ok: #define TEST2(p) (cout<<#p<<endl);    如果TEST2("test2");  输出”test2“.奇怪? 二.##…
读取bmp等图片格式中的像素还有难度,就先用这个棋盘图象素来弄了 代码打错一个就一直First-chance exception ,貌似还有一个要用q或者Q才能成功退出,不知道缺少哪句,我用窗口红叉退出也会First-chance exception glTexParameterf写错成glTextureParameteri 随手来个链接https://www.opengl.org/sdk/docs/man/html/glTexParameter.xhtml // // 绘制一个旋转的OpenG…