簽到題,問長度為n且回文子串的個數最少的串的數量
想到 abcabcabc... 排列回文子串最少為3
n=1,2,3特殊處理一下
#include usingview codenamespace
std;
typedef
long
long
ll;#define rep(i, a, b) for (register int i = a; i <= b; i++)ll n;
void
solve()
intmain()
}
題意:求這個式子
先化簡這個式子,根據斐波拉契通項:
化簡完畢,求x2 ≡ 5(mod 1e9+9)得 x=383008016(二次剩餘)
所以可求得1/√5 ≡ 276601605(mod 1e9+9),a ≡ 691504013(mod 1e9+9), b ≡ 308495997(mod 1e9+9)
求a,b,qn的時候用尤拉降冪即可,還有億點點小細節看**。(**t了,大佬能指點一下嗎)
#include usingview codenamespace
std;
typedef
long
long
ll;#define rep(i, a, b) for (register int i = a; i <= b; i++)
int mod = 1e9 + 9
;inline
int ksm(int a, int
b)int fac[100010], inv[100010
];inline
int c(int k, int j)
int x = 383008016, x2 = 276601605, a = 691504013, b = 308495997
;int a, b, q, q, d, d, tmp; //
q = q ^ (n + 1), d = b / a, d = d ^ (n + 1)
ll n, c, k;
intans;
inline
void
solve()
cout
<< (ll)ksm(x2, k) * ans % mod <
}int
main()
}
要判斷哪些robot能領先。
先對加速度從大到小排序,再捨掉初始位置比之前小的(加速度小,初始位置小不可能追上)
這樣後面的bot一定能追上前面的bot,然後如果當前bot在追上下乙個bot之前就被追上了,那麼他也要被捨棄
最後再排除掉初始位置和加速度相同的bot
#include usingview codenamespace
std;
typedef
long
long
ll;#define rep(i, a, b) for (register int i = a; i <= b; i++)
#define pii pairstruct
rob} c[
50010], tmp[50010], frot[50010
];double tim(rob x, rob y)
intn;
mapint, int>, int>mp;
ll s, cnt, id, ans;
void
solve()
sort(c + 1, c + n + 1
); s = cnt = id = ans = 0
; rep(i,
1, n) if (c[i].p >s)
rep(i,
1, cnt)
rep(i,
1, id) if (mp[make_pair(frot[i].a, frot[i].p)] == 1) ans++;
cout
<< ans <
}int
main()
}
求字串每個字首的最小字尾。
涉及到 lyndon word
#include usingview codenamespace
std;
typedef
long
long
ll;#define rep(i, a, b) for (register int i = a; i <= b; i++)
int mod = 1e9 + 7
;int
n;int ans[1000010
];int
sum, tmp;
void
solve()
while (k <=i)
k += j -i;
}rep(i,
1, n - 1
)
cout
<< sum <
}int
main()
}
杭電多校第一場補題
include include include include include include include include define int long long using namespace std const int maxn 1e4 10 const int inf 0x3f3f3f3...
2019杭電多校第一場
dp i j k t dp i j k t dp i j k t 表示0 1 2,3 0,1,2,3 0,1,2,3出現的位置排序後為i,j k,t i,j,k,t i,j,k,t的方案數 列舉第t 1 t 1t 1位的情況進行轉移 對於限制情況,固定右端點,暴力列舉所有狀態,把所有非法狀態清零 i...
2019 杭電多校(第一場)
題目 1002 operation 線性基 題意給你n個數 兩個操作,查詢l r區間異或最大值 在陣列最後麵加一數 思路維護兩個陣列 1 b i j 儲存a 1 到a i 之間的第j位線性基。2 pos i j 儲存最大的l a l 使得b i j 有值。對於每一次詢問 l,r 如果pos r j ...