摘要:
You are given N*M matrix A. You are to find such matrix B, that B[i,j]=min{ A[x,y] : (y>=j) and (x>=i+j-y) }动态规划,枚举对角线, 因为是取最值, 所以取值区域可以重叠,就... 阅读全文
摘要:
其实可以写归并排序求逆序对 但以前写过,就改写了离散化+树状数组c++离散化真心写得短#include#include#include#include#include#include#includeconst int MAXN = 100000;int a[MAXN] = {0} ,... 阅读全文
摘要:
二分图判断。我用DFS做的。【话说俄罗斯小学生都这么爽,无力吐槽】#include#include#include#include#include#include#include#define V(x) mp[x].v#define Next(x) mp[x].next#define... 阅读全文
摘要:
递归处理[想象中的]字符串,因为只需要知道其中一个元素最后的位置, 可以只调用log2N次递归就得出答案#include#include#include#include#include#include#include//phi(W) = phi(wNwN-1...wK+1) + ph... 阅读全文
摘要:
初看以为要构造矩阵,细看发现构造不了,再细看发现取模的m很小 于是就哈希找函数周期了。#include#include#include#include#include#include#include#define INF (1<<30)-1const int MAXM = 1005;... 阅读全文
摘要:
动态规划开始不会做, 看了Owaski的题解才会的#include#include#include#include#include#include#include#define INF (1 i; j --) { f[mod(i)][mod(j)] = I... 阅读全文
摘要:
题意: 有K个城市,第i城市至多有N[i]个人,每个城市有一个属性Q[i]。 对于N=∑N[i]个人,每个人有一个属性P[i]和价值W[i],把第i个人放进第j个城市中,当且仅当P[i]>Q[j]时,可以获得W[i]的价值,否则不获得价值。 求出满足价值和最大的人数分... 阅读全文