b 簽到題
#include
#include
#include
using
namespace std;
intmain()
return0;
}
e colour sequence
題意:給出乙個字串,每個字元代表一種顏色,輸出滿足所有顏色出現次數均為偶數次的連續子串的個數
思路:位運算
分析:0<=ci<=20,用二進位制數來表示不同顏色獲取每種顏色出現的次數是奇數次還是偶數次,因為二進位制只有0和1兩種表示,我們可以假設1為奇數狀態,0為偶數狀態,如果當前位置狀態是奇數狀態,那麼為了構成偶數狀態,必然需要前面的也是奇狀態並與之構成偶狀態才能符合條件,因此從前面那個相同狀態到當前狀態的區間就會是乙個全偶的狀態,因此只要想辦法解決怎麼實現狀態轉換和區間計數就可以解決這個問題了。首先我們可以開乙個陣列來儲存每種顏色二進位制表示:
a[0]------01
a[1]------10
a[2]------100
…a[i]-------(1<11
3.第三次讀入0,tot^a[0]—>10
4.第四次讀入1,tot^a[1]—>00
5.第五次讀入0,tot^a[0]—>01
6.第六次讀入0,tot^a[0]—>00
7.第七次讀入0,tot^a[0]—>01
對第一次讀入後的狀態10,前面沒有與之相同的狀態,res+=0,cnt[10]++;
對於狀態2,前面沒有相應的同狀態11與之對應,res+=0,cnt[11]++;
對於狀態3,前面有同狀態10,因此res+=cnt[10],cnt[10]++;
…a狀態減去b狀態相當於選取[b+1,a]的子區間,這樣每次都是尋找1~x之間的狀態相減,但是這樣不會把1給選進去,但是1其實是符合條件的,因為預設什麼都不選的時候是偶數狀態,所以開始讓cnt[0]=1
(ps:賽後請教z神知道的)
ac
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int n=(1
<<22)
;ll a[25]
,cnt[n]
;int
main()
cout
}
i ****** math problem數學公式推導題
注意:題目出現了a,b,c,d,e,f,暗示是16進製制,所以要按照16進製制去推上三角和下三角的規律,a~f實際上對應的是11 ~ 15,而18實際上對應的是24.
分析:推導過程比較簡單,略
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
intmain()
printf
("%lld\n"
,ans)
;return0;
}
m 簽到題
#include
#include
using
namespace std;
intmain()
g 數學
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const ll mod=
998244353
;ll quick_pow
(ll x,ll y)
return ans%mod;
}int
main()
2020ICPC江西省賽個人總結補題
結果 solo8題,一發過。還有三道題有思路,但是沒寫出來.b,e,i,k,m題水.g.mathematical practice 題目大意 讓你將n個元素劃分成m個有順序的互不相交的子集 可以為空 問方案數。思路 1.看樣例猜結論 2.令dp i,j dp i,j dp i,j 代表i個元素劃分成...
2020ICPC江西省賽 C 列舉,二分
題目大意 給n nn個線段.假設選擇k kk個線段,它們的交集長度為s ss.要求最大化min k,s min k,s min k,s n,l i,ri 3e5 n l i,r i leq 3e5 n,li ri 3e5 題目思路 首先想的是三分選擇的k kk個線段。求最大的交集。因為s ss隨著k...
2020 icpc 上海 雲遊記
雖然打得很臭,但是畢竟是第一場icp cicpc icpc 還是記錄一下。坑了隊友真是萬分抱歉,建議加訓qaq。為啥打上海站呢,因為期末有點小忙,想早點打完早完事兒,感覺都差不多 不能公費旅遊 所以和隊友一起選了上海站打。熱身賽直接爆0 00了是我沒想到的。當時a aa的規律我花了一會兒時間找到了,...