bzoj3427:[POI2013]BAJ-Bytecomputer】的更多相关文章

题目链接 BZOJ3427 题解 容易发现最终序列一定是\(\{-1,0,1\}\)组成的 因为如果有一个位置不是,那么这个位置一定大于\(1\),那么上一个位置一定为\(1\),所以该位置一定加到过\(1\).由于\(1\)已经满足条件,而经分析得大于\(1\)会使下一个位置的决策不优反劣,所以一定不会大于\(1\) 那么就可以\(dp\)了,设\(f[i][3]\)表示以\(i\)结尾\(i\)为三种数时的最优答案 #include<algorithm> #include<iostr…
可以YY一下嘛= = 最后一定是-1, -1, ..., -1, 0, 0, ... 0, 1, 1, ..., 1的一个数列 于是f[i][j]表示到了第i个数,新数列的第j项为-1 or 0 or 1的的最小代价 然后就没有然后了 /************************************************************** Problem: 3427 User: rausen Language: C++ Result: Accepted Time:808 m…
传送门 很显然有一个结论:最大不过1,最小不过-1 然后dp,设\(f[i][j]\)为满足前\(i\)个不下降,当前放的是\(j-2\),转移就比较好想了 具体方程看代码吧,终于有一个自己会写的题了 代码(写了好多没用的min): #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; void read(int &…
POI2013题解 只做了BZ上有的\(13\)道题. 就这样还扔了两道神仙构造和一道计算几何题.所以只剩下十道题了. [BZOJ3414][Poi2013]Inspector 肯定是先二分答案,然后每个人的出现区间至少要包含于他自己记录的所有时间点.如果某个人没有记录过那他的出现区间任意. 从左往右扫描,维护以下几个东西: \(t\):目前还有多少人的区间不确定. \(s\):当前要求选多少人.(这个是由记录者决定的) \(cl\):有多少人的区间可以向左扩展. \(cr\):有多少人的区间可…
题目描述 A sequence of N  integers I1,I2…In from the set {-1,0,1} is given. The bytecomputer is a device that allows the following operation on the sequence: incrementing I(i+1) by I(i) for any 1<=I<=N. There is no limit on the range of integers the byt…
题意: 给定一个长度为\(n\)的\(\{-1, 0, 1\}\)组成的序列,你可以进行\(x_i=x_i+x_{i-1}\)这样的操作,求最少操作次数使其变成不降序列.(\(n \le 1000000\)) 分析: 我们考虑第\(i\)个数,如果\(x_i < x_{i-1}\),要想\(x_i \ge x_{i-1}\),那么\(x_i\)至少要加一次\(x_{i-1}\)才能大过\(x_{i-1}\)(当然\(x_{i-1} < 0\)那么永远不可能了). 题解 然后我们猜测,最终的最优…
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3427 可以证明最终序列为-1...0....1 因为首先如果 a(i-1) 为-1或0,执行操作不会让答案变优. 然后,如果可以加到大于1的某个数字,一定可以加到1,显然加到1更佳. 然后简单dp,f[i][j]表示第i位为j的最少步数. #include <cstdio> #include <cstring> #include <algorithm> #defin…
1138: [POI2009]Baj 最短回文路 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 161  Solved: 48[Submit][Status] Description N个点用M条有向边连接,每条边标有一个小写字母. 对于一个长度为D的顶点序列,回答每对相邻顶点Si到Si+1的最短回文路径. 如果没有,输出-1. 如果有,输出最短长度以及这个字符串. Input 第一行正整数N和M ( 2 ≤ N ≤ 400 , 1 ≤ M ≤…
[POI2013]Łuk triumfalny 题目大意: 一棵\(n(n\le3\times10^5)\)个结点的树,一开始\(1\)号结点为黑色.\(A\)与\(B\)进行游戏,每次\(B\)能选择不超过\(k\)个结点染成黑色,然后\(A\)从当前点出发走到一个相邻的结点.若\(A\)从\(1\)号结点出发,则\(k\)最小取多少能保证\(A\)每次走到的点都是黑点? 思路: 二分答案\(k\)后使用树形DP判断是否可行. 从叶子往根考虑,\(f_i\)表示将\(i\)的子树全部染黑需要从…
[POI2013]Polaryzacja 题目大意: 给定一棵\(n(n\le250000)\)个点的树,可以对每条边定向成一个有向图,这张有向图的可达点对数为树上有路径从\(u\)到达\(v\)的点对\((u,v)\)个数.求最小可达点对数和最大可达点对数. 思路: 显然最小可达点对数是\(n-1\).一种构造就是根结点全是入边,与根结点相邻的点全是出边--以此类推.最后相邻的点对会被统计一次,其余的均不会被统计. 对于最大可达点对数,一定存在一种方案,使得树根是树的任意一个重心时,将所有子树…