原创 BZOJ4850: [Jsoi2016]燈塔

BZOJ4850 很容易發現sqrt(|i−j|) 很多情況下都是相等的。 那麼就可以考慮分塊。(題目應該是hj≤hi+p−sqrt(|i−j|) ) 當sqrt(|i−j|)=x 時,令Mx 爲所有滿足sqrt(|i−j|)

原创 BZOJ3656: 異或

BZOJ3656 據說這個題是Cmn mod P 就做了。。。 一個位置p 寫成了pc wa了不知道多少遍。。 【代碼】 #include <cstdio> #include <iostream> #include <algo

原创 BZOJ2111: [ZJOI2010]Perm 排列計數

BZOJ2111 根據題目所給信息,要求所有2<=i<=N 時,滿足Pi>Pi/2 列一下,就是:p2>p1 ,p3>p1 ,p4>p2 ,p5>p2 ,p6>p3 ,p7>p3 發現很像一顆二叉樹!就是一顆二叉樹。。 滿足

原创 BZOJ3129: [Sdoi2013]方程

BZOJ3129 挺好的一道題呀。 其實p 只會有三個值10007,262203414,437367875 將三個值分解質因數最大的也只有1012 。數組可以開的下,不然就不可做了。 首先考慮沒有限制。每一個任取,那就是隔板

原创 BZOJ2982: combination

BZOJ2982 Lucas 定理模板題 【代碼】 #include <cstdio> #include <iostream> #include <algorithm> #define N 10007 #define mod 10

原创 BZOJ4591: [Shoi2015]超能粒子炮·改

BZOJ4591 根據Lucas 定理推出ans=∑i=02332Cin mod 2333∗∑j=0k/2333−1Cjn/2333+Ck/2333n/2333∗∑i=0k mod 2333Cin mod 2333 懶得推了。。就

原创 POJ1006:Biorhythms

POJ1006 有三個週期,分別爲23,28,33天。一個週期中有一天爲峯值。 給出三個峯值日期,和當前日期,求最少要經過多少天,三個峯值同時出現。 中國剩餘定理模板題。 【代碼】 #include <cstdio> #incl

原创 BZOJ2976: [Poi2002]出圈遊戲

BZOJ2976 QAQ 總算自己做出來一個題。 第i 輪有n−i+1 個人,記爲mi ,n 只有20,暴力算出該輪出圈的是第幾個,記爲ri 。 那麼就可以列出方程: Ans≡r1 mod m1 Ans≡r2 mod m2

原创 BZOJ4870: [Shoi2017]組合數問題

BZOJ4870 。。估計大多數人都是看題推式子。。然後各種碼逆元。。CRT 。。Lucas 定理等奇奇怪怪的東西。。然後還發現拿不了滿分。。 最後看到題解,就各種憋住的**破口而出。。 其實題目就是求nk 個數中,取得的數模k

原创 BZOJ2521: [Shoi2010]最小生成樹

BZOJ2521 QAQ一開始看到這個題就想到了BZOJ2561 然而瞬間否定,這兩個題應該不太一樣。神flag! 先說說一開始錯的想法錯在哪吧。。 可以直接pass : (一開始想的是類似次小生成樹的做法,先做最小生成樹

原创 BZOJ4818: [Sdoi2017]序列計數

BZOJ4818 容斥一下,變成任取不超過m 的n 個數且和爲p 的倍數的方案數-任取不超過m 的n 個合數且和爲p 的倍數的方案數。 令fi,j 表示i 個數,模p=j 的方案數。 容易寫出方程: for(i=1……n)

原创 BZOJ4810: [Ynoi2017]由乃的玉米田

BZOJ4810 巧妙地利用bitset 。 QAQ 可能只是我弱沒看出來。 莫隊還是很容易看出來的。 然後就是統計一下每一個值出現的個數。用cnt 數組記錄。 對於操作3乘法而言,直接枚舉因數,暴力判斷一下就可以了。

原创 POJ2891Strange Way to Express Integers

POJ2891 mi不互質時解同餘方程組 存一發模板吧QAQ 講解看看:這裏 那個爲什麼要mod (m2/d)還是想了很久。。 大概就是最後要在mod(m2*m1/d)意義下,然後帶入到x=m1∗t1+a1 中乘了m1 ,