原创 寒假刷題17:1296E1 - String Coloring (easy version)

題目鏈接: 1296E1 - String Coloring (easy version) 題目解析: 這道題實際上是把一個字符串分爲兩個不遞減的子串。 可以用DP,但還有一種貪心的方法:從左到右遍歷原字符串,並新建兩個字符串s1

原创 寒假刷題10:Network(LA 3902) 無根樹轉有根樹+貪心

題目鏈接: Network 題目解析: 將原本的無根樹,以原始VOD服務器爲根,轉變爲有根樹.對於已經滿足條件的客戶端直接忽略. 將剩餘所有葉子節點按深度入隊,之後從最深的一層向上遍歷.如果發現未被覆蓋的葉子節點,就向上回溯k層後

原创 寒假刷題7:A Different Task (UVA 10795 )

題目鏈接: A Different Task 題目解析: 數學題,漢諾塔問題的變種。 在初始局面和目標局面中,找出所有柱子中不同的盤子中編號最大的一個,設爲k,則k必須移動。所有比k編號大的盤子因爲不會造成影響,故直接忽略。 假設

原创 寒假刷題8:Assemble(NWERC2007,LA 3971) 二分

題目鏈接: Assemble 題目解析: 求“最小值最大” 二分答案,假設答案爲x。刪除品質因子小於x的所有配件,看能否組裝出一臺不超過b元的電腦(顯然每一類配件都要選最便宜的那個) 之前在去瀋陽的途中,小湯圓同學問過我一個十分類

原创 寒假刷題2:Piotr's Ants,UVa 10881

題目鏈接: Piotr’s Ants 解析: 把螞蟻看作是點,因爲速度相同,所以碰撞後可看作是“對穿而過”。這樣可以計算出所有螞蟻終止時刻位置。 可以看出所有螞蟻的相對順序是不變的,所以初末狀態排序,可以確定“誰是誰”。 注意:輸

原创 寒假刷題12:Aerodynamic Codeforces Round #618 (Div. 2) D (幾何)

題目鏈接: Aerodynamic 題目解析: 題意挺難理解的…手玩樣例發現是求是否中心對稱 如何驗證是否中心對稱呢: 必須是偶數個點 連接相對頂點的線段的中點必須重合 AC代碼: #include<bits/stdc++.h

原创 寒假刷題1:Graveyard (NEERC2006,LA3780)

題目鏈接:https://vjudge.net/problem/UVALive-3708 解析:思維題。          固定一個點不動,讓其餘各點分別移動到離它最近的目標點。這種情況下一定是最優的 。          注意細節。將距

原创 寒假刷題23:Feel Good(POJ - 2796) 單調棧

題目鏈接: https://vjudge.net/problem/POJ-2796 題目大意: 給你一個非負整數數組,定義某個區間的參考值爲:區間所有元素的和乘以區間最小元素。求該數組中的最大參考值以及對應的區間。 比如說有6個數3 1

原创 寒假刷題19:單調棧例題(洛谷P5788)

題目鏈接: 單調棧 題目解析: 很裸的一道題......主要是爲了回顧一下單調棧的用法 小於棧頂元素直接入棧,反之彈出棧內所有不大於當前元素的數並記錄答案 保證了出棧元素單調增 AC代碼: #include<bits/stdc++.h>

原创 KMP

#include <iostream> #include<cstring> #include<cstdio> #include<cmath> #include<map> using namespace std; #define ll l

原创 判斷一個大數(小於2的63次方)是否是素數

LL mul(LL x,LL y,LL mod) { return (x*y-(long long)(x/(long double)mod*y+1e-3)*mod+mod)%mod; } LL pow_mod(LL a,LL n

原创 最小環

Floyd     O(n^3) int val[maxn + 1][maxn + 1]; // 原圖的鄰接矩陣 inline int floyd(const int &n) { static int dis[maxn + 1][

原创 Lucas定理

用於求 %p ll mod_pow(ll a, ll b) { ll res = 1; while(b) { if(b & 1) res =res * a % mod; a = a

原创 線段樹模板

1.區間修改(加&&乘),區間查詢 https://www.luogu.org/problemnew/show/P3373 #include<iostream> #include<cstdio> #include<cstring> #d

原创 網絡流 最大流模板(isap)

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define ll long long usin