原创 EOJ 1805 字符串匹配【後綴數組】

題目簡介 給你 2 個字符串(可能包括數字以及標點),長度不超過 50124,請你求出最長的連續的公共子序列。 說明 不知道是不是數據改了,導致這個似乎是n^2的算法也能暴力過去: #include <bits/stdc++.

原创 判斷線段是否與矩形相交

輸入格式: xstart ystart xend yend xleft ytop xright ybottom Note: The terms top left and bottom right do not imply

原创 EOJ 1189/POJ 1113/HDU 1348 Wall

題目簡介 給定平面上的n個點及半徑r,求圓的周長與凸包周長之和。 說明 記錄一下Graham求凸包的模板。 #include <bits/stdc++.h> using namespace std; const double

原创 博弈題初步

EOJ 1067 石子游戲-A 甲乙兩人面對若干堆石子,其中每一堆石子的數目可以任意確定。兩人輪流按下列規則取走一些石子,遊戲的規則如下: 1. 每一步應取走至少一枚石子; 2. 每一步只能從某一堆中取走部分或全部石

原创 走道鋪磚問題

n*m的走道鋪滿1*2的地磚,求鋪設方案數。 1 <= N,M <= 11 狀壓dp。我們知道這題中上一行的狀態可以一定程度上決定下一行,且鋪一塊磚的方式只有兩種:豎放和橫放。 不妨用1 1表示橫放的磚塊,上0下1來表

原创 兩道(疑似)哈希的題

2018.2.5 新生訓練Week3 E.密碼碰撞 EOJ 的登錄系統爆出了一個重大問題,當正確的密碼是你輸入的密碼的子串時,就可以成功登錄! 例如你的密碼是 abc,則你輸入 abcc,aabc,甚至 dfjklsdfabcs

原创 EOJ 2018.2.5新生訓練Week3 D.Game of Chairs

n個椅子,c種顏色排成一圈,間隔1m。隨機選一種顏色,你要馬上移動到這種顏色的椅子上(原本顏色相同則不動)。求走動距離的最小期望(輸出最簡分數)。 1 ≤ c ≤ n ≤ 1e6 據說暴力模擬+優化(n^2—>nlogn

原创 EOJ 2018.1.29新生訓練Week2

總體來說不算好做……但是確實也不難。 A 給定正整數n,k,求f(n,k)=∑ni=1ikf(n,k)=∑i=1nik ,結果對19260817取模。 1 <= n <= 1e7, 0 <= k <= 1e9 時限0.698s

原创 DFS and Similar系列

EOJ 1646/POJ 3126 Prime Path 把一個四位質數變爲另一個四位質數,要求每次只能改動一位數,且變化過程中產生的數也是四位質數。 先篩出質數,然後普通bfs。 #include<bits/stdc++.

原创 簡單的對拍程序

感覺在代碼里加freopen太麻煩了 經常忘記刪然後交上去RTE一發 ,不如寫個批處理來重定向輸入輸出。 首先需要這樣一個文件夾,AC放標程,WA放錯誤的程序,記得編譯成exe。 .out文件、.bat文件可以用空記事本改後綴名

原创 EOJ 2525/USACO 2008 November Gold Light Switching【線段樹】

題意簡介 有n個燈,m次操作,0表示一段區間內燈的狀態全部反轉,1表示詢問一段區間內亮着的燈的數量。 說明 裸線段樹……借鑑了模板,算是第一次寫。 #include <bits/stdc++.h> using namespac

原创 DP進階

EOJ 1051 完全加括號的矩陣連乘積 n 個矩陣的矩陣鏈A1,A2,…,AnA1,A2,…,An ,矩陣 AiAi 的規模爲pi−1∗pi(1≤i≤n)pi−1∗pi(1≤i≤n) ,AiAi 和 Ai+1Ai+1 是相

原创 輕量級的巧妙解法

EOJ 1076 染氣球 一共有 N 只氣球,小強將 N 只氣球從左到右依次編號爲 1、2、3……N,每次給 2 個整數 a,b (a<=b),小強便騎上他的“小飛鴿 ” 牌電動車從氣球 a 開始到氣球 b 依次給每個氣球塗一

原创 EOJ 3199/POJ 1258 Agri-Net【Prim】

題目簡介 好像就是直接求最小生成樹啊…… 說明 就是記錄一下寫得比較簡潔的Prim算法而已。 #include <bits/stdc++.h> using namespace std; const int maxn = 10

原创 EOJ 3201/AOJ 2224 Save your cats【Kruskal】

題目簡介 n個點,m條邊的圖,要使得圖中沒有圈,求要去掉的邊的權值和的最小值。 說明 求圖的最大生成樹,用總權值減生成樹權值得到答案。似乎是隻能用kruskal做。邊數組應該是要開到10000 * 10000 / 2的,沒想到