牛客網NOIP賽前集訓營-提高組(第二場)_B_分糖果
題面 考慮容斥(這也能容斥??..) (把和前一位相同的位看作1,不同的看作2,全為2的方案即為所求,這應該就是一個普通的容斥問題了) 先考慮鏈的情況,顯然有 fi=j∑fj∗min(aj+1…ai)∗(−1)i−j+1 這顯然可以用單調棧維護 然後考慮把鏈兩端拼起來 ans=j∑fj∗(min(aj+1…an)−1)∗(−1)n−j+1 min後面的那個減一是為了排除首尾相等的情況 所以在容斥時可以不考慮這種情況 Code (拍了n久拍不出錯…但是隻有70)
相關推薦
牛客網NOIP賽前集訓營-提高組(第二場)_B_分糖果
題面 考慮容斥(這也能容斥??..) (把和前一位相同的位看作1,不同的看作2,全為2的方案即為所求,這應該就是一個普通的容斥問題了) 先考慮鏈的情況,顯然有 fi=∑jfj∗min(aj+1…ai)∗
【比賽報告】2018.10.30牛客網線上賽[牛客網NOIP賽前集訓營-提高組(第二場)] NOIP練習賽卷二十五
比賽連結 A.方差 字首和 題目連結 我們把方差公式進行化簡。記 s u
【題解】[牛客網NOIP賽前集訓營-提高組(第二場)]C.集合劃分 狀壓DP
題目連結 看了題解後還是沒寫對,只能去看Komachi大佬咋寫的了。 #include<cstdio> #include<cstring> const int N=18,MX=(1<<18)+5; int n,m,k,ban[N]
【題解】[牛客網NOIP賽前集訓營-提高組(第二場)]B.分糖果 單調棧優化線性DP+容斥原理
題目連結 #include<cstdio> #define re register typedef long long ll; const int N=1e6+10; const int INF=0x3f3f3f3f; const int mod=1e9
【題解】[牛客網NOIP賽前集訓營-提高組(第二場)]A.方差 字首和
題目連結 我們把方差公式進行化簡。記 s u m
牛客網NOIP賽前集訓營-提高組(第一場)
files desc 有用 做了 關於 有一個 下標 容易 adf 牛客的這場比賽感覺真心不錯!! 打得還是很過癮的。水平也比較適合。 T1:中位數: 題目描述 小N得到了一個非常神奇的序列A。這個序列長度為N,下標從1開始。A的一個子區間對應一個序列,可以由數對[l,
【比賽報告】2018.10.28牛客網線上賽[牛客網NOIP賽前集訓營-提高組(第一場)] NOIP練習賽卷二十四
比賽連結 A.中位數 二分+字首和 題目連結 構造一個序列 B B B 。每次二分一個
【題解】[牛客網NOIP賽前集訓營-提高組(第一場)]C.保護 LCA+線段樹動態開點+線段樹合併
題目連結 ___ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=2e5+10; int n,m,hd[N],to
【題解】[牛客網NOIP賽前集訓營-提高組(第一場)]B.數數字 線性DP
題目連結 #include<cstdio> #include<cstring> typedef long long ll; #define _rep(i,a,b) for(int i=(a);i<=(b);i++) #define _for(
牛客網NOIP賽前集訓營-提高組(第一場) A.中位數 [中位數]
A.中位數 思路:二分check是否存在>=mid的中位數,若sum[j]-sum[i]>0 && j-i+1>=len 則一定存在大於等於k的mid #inclu
牛客網NOIP賽前集訓營-提高組(第三場)A 管道維修
con www acm 邊界 清理 假設 noi 障礙 超過 https://www.nowcoder.com/acm/contest/174/A 這個的話 一個位置被清理的時間就是它到空白格子/邊界的最短路對吧qww然後求期望的話假設它在第i步被清理掉的
Nowcoder牛客網NOIP賽前集訓營-提高組(第六場)
fir rst 人的 每次 最小 mes sig typename class A 拓撲排序+倍增哈希 或者 拓撲排序對於每個點計一個rank,每個點優先選取rank靠前的最小邊權點 每次依然按照rank排序更新rank #include<bits/stdc++.h&
牛客網NOIP賽前集訓營-提高組(第七場)C 洞穴
洞穴 思路: 矩陣乘法 由於只需要知道(a[i][j]) ^ l 的 第a行第b個元素 所以我們每次在做矩陣乘法時只需要算第a行就可以了 還要像矩陣快速冪一樣預處理出(a[i][j]) ^ (1<<d) 程式碼: #pragma GCC optimize(2) #
【比賽報告】2018.10.30牛客網線上賽[ 牛客網NOIP賽前集訓營-提高組(第四場)] NOIP練習賽卷二十七
題目連結 A.動態點分治 模擬 題目連結 #include<cstdio> typedef long long ll; int t,find; ll l,r,k,x; int main() { //freopen("in.txt","r",stdin
【題解】[牛客網NOIP賽前集訓營-提高組(第五場)]A.同餘方程 位運算
#include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const ll mod=998244353; ll m,l1,l2,r1,r2; ll
【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]C.滅蟲 線性DP+堆優化
題目連結 #include<cstdio> #include<algorithm> #include<queue> using namespace std; const int N=3e3+10; struct node{ int
【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]B.區間 亂搞
題目連結 #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int MAXN=1e7+10; ll a[MAXN]; int
【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]A.動態點分治 模擬
題目連結 #include<cstdio> typedef long long ll; int t,find; ll l,r,k,x; int main() { //freopen("in.txt","r",stdin); scanf("%d",&a
【比賽報告】2018.10.30牛客網線上賽[牛客網NOIP賽前集訓營-提高組(第三場)] NOIP練習賽卷二十六
題目連結 A.管道維修 數學期望 題目連結 #include<cstdio> #include<algorithm> #include<cmath> using namespace std; typedef long long
【題解】[牛客網NOIP賽前集訓營-提高組(第三場)]C.急開鎖 博弈論+打表
題目連結 #include<cstdio> typedef long long ll; int t,k,l,r; ll len,f[4000010]; int main() { //freopen("in.txt","r",stdin); scanf("