只能來划水,只做了3題。
f:隊友切的
#includeusing namespace std;
int line,k,t,ans,x,y,len;
int main()
} for(auto it=mp.begin();it!=mp.end();++it)
}ans = max(ans, len);
} } cout#includeusing namespace std;
typedef long long ll;
#define maxn 100007 //元素總個數
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
ll sum[maxn<<2],add[maxn<<2];//sum求和,add為懶惰標記
ll a[maxn];//存原陣列資料下標[1,n]
ll x[maxn];
ll n,q;
//pushup函式更新節點資訊 ,這裡是求和
void pushup(ll rt)
void pushdown(ll rt,ll ln,ll rn)
}//build函式建樹
void build(ll l,ll r,ll rt)
ll m=(l+r)>>1;
//左右遞迴
build(l,m,rt<<1);
build(m+1,r,rt<<1|1);
//更新資訊
pushup(rt);
}void update(ll l,ll r,ll c,ll l,ll r,ll rt)
ll m=(l+r)>>1;
pushdown(rt,m-l+1,r-m);//下推標記
//這裡判斷左右子樹跟[l,r]有無交集,有交集才遞迴
if(l <= m) update(l,r,c,l,m,rt<<1);
if(r > m) update(l,r,c,m+1,r,rt<<1|1);
pushup(rt);//更新本節點資訊
} ll query(ll l,ll r,ll l,ll r,ll rt)
ll m=(l+r)>>1;
//下推標記,否則sum可能不正確
pushdown(rt,m-l+1,r-m);
//累計答案
ll ans=0;
if(l <= m) ans+=query(l,r,l,m,rt<<1);
if(r > m) ans+=query(l,r,m+1,r,rt<<1|1);
return ans;
} int main()
build(1,n,1);
ll x,y,z;
for(ll i=0;ii:ans是0的時候結果是1,結果導致wa了12發。
#include using namespace std;
typedef long long ll;
int main()
break;
}} printf("%lld\n",ans==0?1:ans);
} return 0;
}
2018徐州網路賽
a.hard to prepare dp 題目 題意 環形圈中,給每人乙個號碼,求使得相鄰數字反異或為正數的方案數。有題意可推出,每兩個數反異或要麼是0要麼是正數,所以也就是讓相鄰數字反異或後不能為0。又知道,與某個數反異或之後為0的只有唯一乙個數,因此可推出第1個人到第n個人分別可選的數的個人為 ...
徐州網路賽2018
網路賽的題比賽應該不會出了吧 嗯.include using namespace std define ll long long const int maxn 1005 int down,up,s,n int a maxn b maxn c maxn int dp maxn 305 int high...
2018 徐州網路賽 G 題解
電波 這題首先要倒著貼這樣 每次 就好了 還有就是 資料太大需要離散化 然後建線段樹,根據x軸的座標建座標軸 看 這個點的 max y 有多大 如果 y i max y 產生 貢獻 ans y x max x x軸同理 includeusing namespace std define maxn 1...