以纵坐标为编号建树状数组优化动态规划
#include<algorithm>
#include<iostream>
#include<cstdio>
#define mod 100007
using namespace std;
struct point{
int x,y;
}p[100001];
int n,K,f[100001][16][2],a[16][2][100001],ans;
inline bool cmp(point x,point y){
return x.x<y.x;
}
inline void add(int x,int v,int j,int k){
for(int i=x;i<=100000;i+=(i&(-i)))
a[j][k][i]=(a[j][k][i]+v)%mod;
}
inline int que(int x,int j,int k){
int sum=0;
for(int i=x;i;i-=(i&(-i)))
......
阅读全文