题目链接 Xors on Segments 预处理出$x[i]$ $=$ $1$ $xor$ $2$ $xor$ $3$ $xor$ $……$ $xor$ $i$ 话说这题$O(n^{2})$居然能过 先对询问离线. 然后$dp[i]$表示以$a[i]$为开头的所有连续序列中最大答案. 然后依次处理到$a[j]$的时候如果以$j$为右端点的询问的左端点小于等于$i$则更新. 复杂度$O(n^{2})$ #include <bits/stdc++.h> using namespace std;…
题目链接 定义一种操作f(u, v) = u^u+1^.......^v. (u<=v), 给n个数, q个询问, 每个询问给出一个区间[l, r], 求这个区间里的f(a[i], a[j]) (l<=i<=j<=r)的最大值. 一开始竟然用n^2m的方法, 真是有点脑残.. #include <iostream> #include <vector> #include <cstdio> #include <cstring> #incl…
F. Xors on Segments 题目连接: http://www.codeforces.com/contest/620/problem/F Description You are given an array with n integers ai and m queries. Each query is described by two integers (lj, rj). Let's define the function . The function is defined for o…
题目传送门 /* 题意:求最大矩形(全0)的面积 暴力/dp:每对一个0查看它左下的最大矩形面积,更新ans 注意:是字符串,没用空格,好事多磨,WA了多少次才发现:( 详细解释:http://www.cnblogs.com/cszlg/p/3217478.html */ #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std…
很神奇的一题 看完题解不由惊叹 题意:$n$个神奇宝贝 $a$个普通球 $b$个高级球 普通球抓住$i$神奇宝贝的概率为$u[i]$ 高级球为$p[i]$ 一起用为$u[i]+p[i]-u[i]*p[i]$ 求期望抓到个神奇宝贝个数 $N,a,b\leq2000$ 首先不难想到$O(n^3)$的暴力$DP$ 听说CF的机子可过 我们接下来写如何优化 对于一个凸函数$f(x)$ 我们假设可以通过某种特殊方式获得其的极值和极值点 令$F(x)=f(x)-kx$ 不难发现$F(x)$也是一个凸函数 仍…
我的天,,,,,n=8,k<=15,,,这怕不是暴力DP+高维数组.... 开一个五维数组f[k][i][j][p][q]表示从(i,j)到(p,q)中分成k个矩形最小的平方和. 然后初始化时用上二维前缀和 DP时有些像区间DP,枚举分割线,分成两部分,取min就好 #include<cstdio> #include<iostream> #include<cstring> #define R register int #define For(i,a,b) for(…
转化题意 这题目乍一看十分玄学,完全不可做. 但实际上,假设我们在原序列从小到大排序之后,选择开的宝箱编号是\(p_{1\sim Z}\),则最终答案就是: \[\sum_{i=1}^Za_{p_i}(p_{i+1}-p_i)\] 其中\(p_{Z+1}=n+1\). 有了这个式子,就可做了许多. 暴力\(DP\) 我们设\(f_{i,j}\)为在前\(i\)个宝箱中选择了\(j\)个宝箱的最小代价. 枚举一个转移点\(k\)表示上个选择的宝箱,就可以得到: \[f_{i,j}=f_{k,j-1…
暴力\(DP\) 这题做法很多,有\(O(n^2)\)的,有\(O(n^2logn)\)的,还有徐教练的\(O(nlogn)\)的,甚至还有\(bzt\)的二分+线段树优化建图的费用流. 我懒了点,反正数据范围这么小,就写了个\(O(n^2)\)的暴力\(DP\). 先将两个数组都排序,一个显然的性质,就是人选择钥匙时不可能相交. 所以我们设\(f_{i,j}\)表示前\(i\)个人选择了前\(j\)把钥匙时所用最大时间的最小值. 转移也很简单. 代码 #include<bits/stdc++.…
[POJ3612] Telephone Wire(暴力dp+剪枝) 题面 有N根电线杆,初始高度为h[i],要给相邻的两根连线.可以选择拔高其中一部分电线杆,把一根电线杆拔高\(\Delta H\)的代价为\(\Delta H^2\).拔高后,要给相邻的电线杆连线,连线相邻两根电线杆操作的代价为\(C\Delta H\),其中C是一个常量且已经给出.求最小总代价. 分析 考虑一个显然的dp,设\(dp[i][j]\)表示前i根电线杆,第i根拔到高度j的最小代价,记H表示max(h[i]) 则\(…
[Codeforces 865C]Gotta Go Fast(期望dp+二分答案) 题面 一个游戏一共有n个关卡,对于第i关,用a[i]时间通过的概率为p[i],用b[i]通过的时间为1-p[i],每通过一关后可以选择继续下一关或者时间清0并从第一关开始,先要求通过所有关卡的时间和不能超过R才算彻底通关,问直到彻底通关位置的游戏时间的期望值为多少 分析 二分从头开始通关的用时期望mid 设\(dp[i][j]\)表示通前i关,当前时间为j的期望,倒推期望. 若超时重新开始,则\(dp[i][j]…