原创 UVA11732(左兄弟右兒子的Trie/Trie)

裸Trie也能過,卡一下內存 #include <iostream> #include <algorithm> #include <queue> #include <stack> #include <cstdio> #includ

原创 KMP再學習之模板

char s[maxn]; char p[maxn]; int NEXT[maxn]; void getNext(){ int m = (int)strlen(s); NEXT[0] = -1; int k

原创 POJ 3581(後綴數組)

要是用白書的板子 不用離散 要是藍書的板子的話,因爲m不知道上下線,需要離散 對於找一個字典序,只需要是一個串的子串,而不需要完全是一個串的後綴,但也可以用SA做 #include <cstdio> #include <cs

原创 POJ 2217 (後綴數組+LCP)

要注意最後的空串也要算進去,所以是<=n #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <strin

原创 UVA12113(暴力+回溯)

就是個水題。 純暴力+回溯就ok了 只是題目看起來嚇人 處理好細節就行 關於覆蓋沒仔細看導致我一直寫出BUG orz #include <iostream> #include <algorithm> #include <

原创 UVA10617 (區間dp)

題意:一個串刪除一些字母使得剩下的串是迴文串,問有多少種方法 題解:直覺就是區間dp吧,狀態也肯定是dp[i][j]表示i−j有多少個回文串dp[i][j]表示i−j有多少個回文串 狀態轉移真的不好想啊= = **枚舉刪除s

原创 CodeForces - 557D Vitaly and Cycle (二分圖染色判定)

題意:給定一個無向圖,問最少添加多少條邊可以得到一個奇圈以及其方案數。 題解:是個簡單的二分圖染色判定 二分圖的等價定義就是圖中沒有奇數邊的環 1:一條邊沒有的時候,方案數爲n*(n-1)*(n-2)/6 2: 每個聯通分量

原创 Gym - 101128J (凸包+二分)

題意:問有多少個黑點在任意三個紅點組成的三角形內 題解:必然一眼能看出是求點在紅色點組成的凸包內吧。然後暴力枚舉黑點與凸包判叉積的話會T,所以有一個優化是,將凸包分成x個三角形(固定一個起點,枚舉任意兩個相鄰的點),然後進行二分

原创 codeforces 610D(樹狀數組+離散化)

題意:給你n條只平行於x軸或者y軸的線段,問有多少個整數點在線段上。 題解:正好前幾天碰到一個幾乎一模一樣的題,實際上只要處理有多少個交點,將平行於x軸的退化爲一個點,將橫豎所有y座標離散,對於平行於x軸的點左端點進行+1,右端

原创 codeforces 571A(組合+容斥)

題意:給定三根木棍的長度,可以任意木棍增加任意長度,但總和不超過L,問最後能構成三角形的方案數是多少 題解:用所有方案數-不能構成的方案數 對於長度l,能夠構成的方案數是(l+22)(l+22) ,因爲相當於一個長度爲ll 的

原创 scrapy/爬蟲 xpath爬取返回結果爲None

有沒有大哥能幫忙解決一下這個問題啊,非常感謝 畢設整了個爬取旅遊網站的旅遊信息,自己坑自己- -。自己嘗試爬取一下攜程中的青島自由行 https://vacations.ctrip.com/list/freetravel/sc.h

原创 scrapy/爬蟲 一個項目中的2個爬蟲怎麼同時保存在一個json中

我每次保存就複寫了,有沒有大佬可以教一下,萬分感謝

原创 UVA 10791 (唯一分解定理)

記錄一下唯一分解定理的應用 #include <iostream> #include <algorithm> #include <queue> #include <stack> #include <cstdio> #include

原创 HDU 6033(數學)

這題還是有必要記錄一下的 題意:2m−1<=10k2m−1<=10k 已知m求最小的k 題解:關鍵在於用2m=10a+b2m=10a+b 來表示,其中a是2m2m 的整數部分,b是小數部分 log102m=a+blog10

原创 UVA1336(區間dp)

區間dp給我的印象一直是O(n3)的 做到這題才發現自己理解的偏差 題解參考:原作者 #include <iostream> #include <algorithm> #include <queue> #include <s