原创 【cf914D】Bash and a Tough Math Puzzle 線段樹

題目大意 給出一個序列a,要求支持單點修改,以及詢問如果允許修改區間內的一個元素,區間gcd是否爲x(可以理解爲允許你暫時去掉區間一個元素,使區間gcd爲x) 1 ≤ n ≤ 5*10^5 1 ≤ q ≤ 4·10^5 題解 一開始

原创 【bzoj2465】[中山市選2009]小球 貪心

題解 因爲每個球所佔的位置都是1,所以只要貪心就好了,分數最大的球能取就取。 代碼 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i

原创 【bzoj1022】[SHOI2008]小約翰的遊戲John nim遊戲

題解 膜拜國家集訓隊論文 代碼 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cctype> using names

原创 【bzoj2208】[Jsoi2010]連通數 floyd傳遞閉包

題解 一道bitset優化floyd傳遞閉包裸題! 代碼 #include<iostream> #include<bitset> #include<cstdio> #include<cctype> #define N 2010 usin

原创 【bzoj2122】[HNOI2006]花仙子的魔法 枚舉

題解 大力出奇跡,交了一發暴力沒想到強行卡過去了qwq 代碼 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cc

原创 【bzoj1034】 [ZJOI2008]泡泡堂BNB 貪心

題解 貪心策略:先從小到大排序,如果我方最弱的比敵方最弱的強分數+2,如果我方最強的比敵方最強的要強分數+2。否則既然都打不過,我就讓什麼用都不起的我方最弱跟敵方最強比。碰巧一樣厲害分數+1。 代碼 #include<iostream>

原创 【bzoj3670】【NOI2015】動物園 kmp

企鵝太可愛啦! 題解 我們先處理出num[i]表示既是它的後綴同時又是它的前綴,並且該後綴與該前綴不重疊,這種字符串的數量。每次num[i]=num[fail[i]]+1(因爲本身也算一個後綴)。然後再將算出p < i/2並且s[

原创 【zroj249】佔領地區 模擬

題解 我們可以根據題意得到,一個炮會打x形的地方,所以我們分開處理將正負對角線,減去重合的格子即可。再用前綴和優化一下複雜度就降到了O(n+m) 代碼 #include<iostream> #include<algorithm> #in

原创 【luogu1093】獎學金 模擬

#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> using namespace std; struct node{int id,x,T

原创 【bzoj1799】[Ahoi2009]self 同類分佈 數位dp

(圖片上傳失敗???不知道什麼原因) 原題:https://www.lydsy.com/JudgeOnline/problem.php?id=1799 題解 因爲是10^18所以各位數字加起來最大也不超過9*18所以我們就可以一次枚舉啊

原创 【bzoj1088】[SCOI2005]掃雷Mine 模擬

題解 只要知道了第一行第一列或者最後一行第一列就能推斷出整個第一列。而第一列由題目可得只能爲1或者0。所以就可以構造出序列。因爲構造出的序列必須滿足第一列爲0或者1並且滿足給定的第二列,在構造第一列排除不合法情況即可。 代碼 #incl

原创 【bzoj1800】 [Ahoi2009]fly 飛行棋 模擬

代碼 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cctype> using namespace std; int

原创 【bzoj1270】雷濤的小貓 dp

看註釋吧 代碼 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cctype> using namespace st

原创 【bzoj1207】[HNOI2004]打鼴鼠 dp

題解 f[i]表示從1到第i只鼴鼠出現的時間裏並且打死第i只鼴鼠所能打死的最大鼴鼠數目。 (其實就相當於最長不上升子序列一樣,只不過轉移有一丟丟不一樣就是啦。) 代碼 #include<iostream> #include<algor

原创 【bzoj1059】 [ZJOI2007]矩陣遊戲 匈牙利算法

題解 在同一行同一列的1無論怎麼換來換去都會在同一行同一列, 如果想通過轉換變到主對角線上必須滿足有n個點不在同一行不在同一列,那麼我們以i爲一邊以j爲一邊進行二分圖匹配即可。 代碼 #include<iostream> #inclu