原创 莫比烏斯反演入門(hdu 1659)

前置知識點:click具體一些簡單的證明可以自己證明一下。 具體的各項知識以及證明待更吧。。。。 題目:click 題意:給出a,b,c,d,k,求出a<=x<=b, c<=y<=d 且gcd(x,y) = k 的(x,y)的對數

原创 HDU2588

題目:click 題意:設g=gcd(X,N),X=g∗ag*ag∗a , N=g∗bg*bg∗b,由於N>=X,b>=a,可以直接去枚舉約數g,由於gcd(a,b)=1,a<=b,直接歐拉函數求可得。 #include<cmat

原创 洛谷P3949(樹狀數組+歐拉降冪)

題目:click 題意: 題意簡單,題目毒瘤,我真的吐了,寫的線段樹最後一個點瘋狂T,改爲樹狀數組的區間更新,單點查詢(有不懂的可以參考:click)。加歐拉降冪,有些細節要對a進行處理。其他的見代碼。但是別人的線段樹沒有T。。。

原创 AC Challenge (ACM-ICPC 2018南京網絡賽)

題目:click 題意:給定n個題目,如果要AC第i個,那麼需要先AC指定的pj個題目,獲得分數爲t*a[i]+b[i],問最大獲得的分數是多少。 狀態屬性是MAX,但是由牽制條件,n個題目直接可以狀態壓縮。但是二維的dp顯然會T

原创 ZOJ - 3939(日期規律)

題目:click 題意:星期一在每個月的1號,11號,21號,則是幸運的,給定一個時間,問從此開始的第N個幸運的日期是什麼。 N是非常大的,打表找個規律,從1753-1-1開始找1月1號的年份存下來,暴力找到是56,112,確定週

原创 Educational Codeforces Round 88 (Rated for Div. 2)D. Yet Another Yet Another Task(ST表+單調棧)

題目:click 題意:找到一段區間的總和減該區間的最大值的最大值。 一開始想的是dp找最大的連續子序列的MAX減該段的MAX,仔細一想可以發現問題,這個思路是不對的,我們考慮先去把a[i]看做是該區間的最大值,進行枚舉處理,單調

原创 Educational Codeforces Round 88 (Rated for Div. 2)E. Modular Stability

題目:click 題意:問有多少組a[1],a[2]…a[k]對於任意x(x是非負整數),((xmod  a[1])mod  a[2]....)mod  a[k]((x\mod a[1])\mod a[2]....)\mod a[

原创 Educational Codeforces Round 89 (Rated for Div. 2) E. Two Arrays

題目:click 題意:給定a數組長n,b數組長m,將a數組劃分爲m段(完全m段全覆蓋),第i段的最小值等於b[i],問總共多少種方法。 首先去確定劃分的位置,由於第i段可能出現多個b[i],仔細一想其實並不影響,因爲劃分的時候一

原创 Codeforces Round #646 (Div. 2)D. Guess The Maximums(交互題+二分)

題目:click 題意:題目是真滴長。。。,簡而言之,將A數組中挑選出k個兩兩取交集都是空集的集合,k位的密碼,對應k個集合,是除自己集合以外的數字的最大值就是該位的密碼。 注意題目中說了最多12次詢問,n的範圍是1000,可知l

原创 Codeforces Round #650 (Div. 3) D,E,F1,F2

題目:D 題意:從一個字符串s中刪除一些字符或者不刪,構成t字符串,保證t[i]的價值等於b[i],t[i]的價值計算就是t字符串中所有的位置如果t[j]>t[i],那麼t[i]的價值就加上abs(i-j)。保證一定有答案。 首先

原创 2018 ACM-ICPC North Central North America Regional Contest H.New Salaries

題目:click 題意:一家公司有n個員工,第i個員工的工資範圍在[LiL_iLi​,RiR_iRi​],Li−1<=LiL_{i-1}<=L_iLi−1​<=Li​,Ri−1<=RiR_{i-1}<=R_{i}Ri−1​<=Ri

原创 Codeforces Round #646 (Div. 2)F. Rotating Substrings(dp)

題目:click 題意:利用該操作,問最小的操作次數使得s變爲t,如果不可能則-1. 思路來源:https://www.bilibili.com/video/BV13T4y1J73t?p=6 記錄一下這個dp,切入點在最長的公共子

原创 ICPC North Central NA Contest 2018 B. Maximum Subarrays

題目:click 題意:將n個元素的數組分爲k段不連續的的數組,使之和最大。 1: dp[i][j]:分爲i段 以j結尾的最大值。 轉移方程易得dp[i][j]=max(dp[i][j-1]+a[j],max(dp[i-1][i-

原创 Codeforces Round #648 (Div. 2) E. Maximum Subsequence Value F. Swaps Again

題目:click 題意:給定n個元素的數組,當數組的數分爲二進制,你可以挑選k個數,如果這k個數的二進制的第i位的1的個數大於等於max(1,k-2),那麼就計算他的貢獻值。問最大的貢獻值。 可以發現,k<=3的時候只要有一個1就

原创 Educational Codeforces Round 87 (Rated for Div. 2)D. Multiset(樹狀數組+二分)

題目:click 題意: 一開始multiset卡內存了,發現直接二分加樹狀數組就可以了。 #include<cmath> #include<iostream> #include<cstdio> #include<cstring>