原创 AtCoder Beginner Contest 156 E - Roaming

題目鏈接 首先,如果k>=n的話,顯然我們可以構造出所有狀態,相當於n個相同球放到n個不同盒中,盒子可以空。 即C(2n−1n−1)C(_{2n-1}^{n-1})C(2n−1n−1​). k<n的情況即必須要有n−kn-kn−k

原创 2019icpc南昌邀請賽H. Another Sequence

題目鏈接 思路:先貼一個fwt模板。 由於數組是一些 相同的元素段 組成的。所以用一個set維護一下,每個段的信息。 然後查詢直接set上二分。 修改操作是修改一些連續段,把每個段的值都更新一下,爲了防止複雜度退化,必須要合併值相

原创 【每日一題】Steps to One (容斥+錯位相減)cf1139D

題目鏈接 前置推論: 1.長度爲1的序列只可能是一個1。 2.假設當前的序列長度爲k+1k+1k+1,且前kkk個數的gcd=agcd=agcd=a不爲1的話,那麼第k+1k+1k+1位的數必然與a互質,所以第k+1k+1k+1個

原创 luogu P6583 回首過去

題目鏈接 思路:ab\frac{a}{b}ba​若在十進制下是有限小數的話等價於:存在非負整數x,yx,yx,y 使得2x5yamod  b=02^x5^ya\mod b =02x5yamodb=0 那我們枚舉分子,看每個分子的貢

原创 2020 CCPC Wannafly Winter Camp Day1 I. K小數查詢

做法:區間線段樹套權值線段樹 本題細節有點多,調了一下午,心態爆炸。 修改操作:把區間>x的數全部拎出來並單點修改他們在整個樹上的值,並修改x處的值(所有修改都要定位到區間內),注意要更新到所有祖先節點。向下傳標記的時候,就不用傳

原创 AtCoder Beginner Contest 158 F.Removing Robots

題目鏈接 大意:給你n個機器人,每個機器人在xix_ixi​,位置,如果被激活了就會移動到xi+di−1x_i+d_i-1xi​+di​−1,然後被銷燬,中途遇到的機器人都會被激活且移動。 有一種操作是:選擇一個未被激活的機器人並

原创 Codeforces Round #628 (Div. 2) E. Ehab's REAL Number Theory Problem

思路:因爲不超過7個因數,所有至多有2個不同的質因子。 我們先把一些特殊的情況處理掉: 1.輸入包含完全平方數 2.存在兩個數相乘是完全平方數 那麼剩下的情況 答案必然是>=3 預處理出所有數的:冪次爲奇數的質因子,如果僅有一個的

原创 Codeforces Round #313 (Div. 2) A-E

題目鏈接 A.腦筋急轉彎 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 2e5 + 10; #define fi

原创 AtCoder Beginner Contest 158 E.Divisible Substring

題目鏈接 思路: 設sis_isi​爲[i,n][i,n][i,n]構成的十進制數。 若[l,r][l,r][l,r]構成的十進制數是p的倍數,則: sl−sr+110n−r=0  (mod  p)\frac{s_l-s_{r+1

原创 2020 CCPC-Wannafly Winter Camp Day6 (Div.1&2) H. 異或詢問

思路: 根據異或的性質,可以把∑lri⊕x\sum_l^r i \oplus x∑lr​i⊕x劃分成一些連續的區間,對每個區間計算答案。 #include <bits/stdc++.h> using namespace std

原创 Panasonic Programming Contest 2020 E - Three Substrings

思路:枚舉三個串的相對位置,check一下合法性,取一個最小答案。 每個合法的情況的答案計算:統計一下A串左右各有多長即可。 #include <bits/stdc++.h> using namespace std; typede

原创 矩陣快速冪(加法+取min)

早上想寫一些相關的證明,發現自己出了結合律和一些感性認識外,講不出理性的證明。。。 所以只能先給出例題,大家感性的理解一下。。 cf352E 思路:看完題(解 )之後,可以得到一個推論:放完i個括號之後,最多不會超過2n個左括號未

原创 2019-2020 ICPC Southwestern European Regional Programming Contest (SWERC 2019-20)部分題解

比賽鏈接 躺狗實錘,只會兩題 G.Swapping Places 大意:給你一個長度爲nnn的字符串序列,字符串種類爲sss,給你lll組關係。每組關係由兩個字符串a,ba,ba,b構成,若a,ba,ba,b相鄰,則可以交換這兩個

原创 Benelux Algorithm Programming Contest 2019 A. Appeal to the Audience

思路:顯然,每個人至少上場一次。 一個 顯然 的性質,掛在同一個節點上的所有葉子,只能有一個葉子能額外上場。 我們需要讓能力大的人上場次數最多。 那麼我們在dfs的時候 需要讓出場次數最多的葉子接着出場。 然後從大到小分配給按能力

原创 AtCoder Beginner Contest 159 F.Knapsack for All Segments

題目鏈接 思路:考慮每個和爲s的組合 的貢獻。 顯然貢獻爲L*(n-R+1) ,L,R 爲組合的左右兩端的位置。 如果枚舉當前R位置 ,那麼只要我們知道所有合法情況的L值之和那麼就可以統計出答案了。 考慮dp。 dp[i][j]d