A - DZY Loves Hash水题,开辟一个数组即可#include #include #include #include using namespace std;int main(){ int p,n; cin >> p >> n; vector buckets(302,f...
分类:
其他好文 时间:
2014-07-14 19:46:01
阅读次数:
307
题目链接:点击打开链接
题意:
给定n行m列的矩阵 k次操作,一个常数p
ans = 0;
对于每次操作
可以任选一行或一列, 则ans += 这行(列)的数字和
然后这行(列)上的每个数字都-=p
问最大的ans
思路:
首先我们设最终选了 行 i 次,则列选了 k-i 次
那么假设我们先全部选行,然后选列,则每次选列时,要-= i*p
这样最后是 -= i...
分类:
其他好文 时间:
2014-07-14 17:38:20
阅读次数:
203
A. DZY Loves Hash
水题!!
AC代码如下:
#include
#include
#include
#include
#include
#define inf 100000000
#define M 100005
#define ll long long
#define F(a,b) for(i=a;i<=b;i++)
#define ME(a) memse...
分类:
其他好文 时间:
2014-07-14 17:30:29
阅读次数:
267
首先要知道选择行列操作时顺序是无关的
用两个数组row[i],col[j]分别表示仅选择i行能得到的最大值和仅选择j列能得到的最大值
这个用优先队列维护,没选择一行(列)后将这行(列)的和减去相应的np (mp)重新加入队列
枚举选择行的次数为i,那么选择列的次数为k - i次,ans = row[i] + col[k - i] - (k - i) * i * p;
既然顺序无关,...
分类:
其他好文 时间:
2014-07-14 16:44:35
阅读次数:
205
题意:给你一个矩阵,每次选某一行或者某一列,得到的价值为那一行或列的和,然后该行每个元素减去p。问连续取k次能得到的最大总价值为多少。解法:如果p=0,即永远不减数,那么最优肯定是取每行或每列那个最大的取k次,所以最优解由此推出。如果不管p,先拿,最后再减去那些行列交叉点,因为每个点的值只能取一次,...
分类:
其他好文 时间:
2014-07-14 10:26:55
阅读次数:
226
给定一个无向图,每个边有两个属性,长度和一个字母‘L',’O',‘V’,‘E'中的一个。从1点开始到达n点,每次必须按照L -> O -> V -> E -> ... -> E的顺序,到达终点时候必须经过E边...
分类:
其他好文 时间:
2014-07-10 22:05:14
阅读次数:
194
题目大意:
1 l r x操作 讲 [l,r]上的节点涂成x颜色,并且每个节点的值都加上 |y-x| y为涂之前的颜色
2 l r 操作,求出[l,r]上的和。
思路分析:
如果一个区间为相同的颜色。那么我们才可以合并操作。
所以我们之前找相同的区间就好。
但是问题是如何合并操作。
那么我们定义一个val 表示这个区间每个位置上应该加上的值。
pushdown 的时候这...
分类:
其他好文 时间:
2014-07-09 11:15:47
阅读次数:
134
题目大意:Codeforces 444C DZY Loves Colors
题目大意:两种操作,1是修改区间上l到r上面德值为x,2是询问l到r区间总的修改值。
解题思路:线段树模板题。
#include
#include
#include
#include
using namespace std;
const int maxn = 5*1e5;
typedef long ...
分类:
其他好文 时间:
2014-07-09 10:28:24
阅读次数:
153