原创 2018 ICPC焦作 F 【模擬+bfs】

#include <bits/stdc++.h> using namespace std; char s[4005][6105]; typedef pair<int,int> PII; map<PII,int>mp; int to

原创 codeforces 1238D 【思維】

題目分析 正難則反 考慮不是GOOD string的情況,只有 ABB…BBB BAA…AAA AAA…AAB BBB…BBA 然後 用 n*(n-1)/2 減去不滿足的情況就可以啦 代碼詳情 #include <bits/std

原创 2018 icpc Beijing Regional H 【dp+ac自動機】

題目大意 給定一個串,長度爲m, 詢問存在多少長度爲n的串,使得與長度m的串對應位置匹配最多隻有一個字符不相同的方案數 題目分析 如果我們考慮串進行匹配的化,很難去重 因此我們反過來考慮 考慮匹配不上的情況 那麼要匹配的串只有m+

原创 codeforces 1242B 0-1 MST 【圖論+並查集】

題目分析 要求最小生成樹,如果考慮有0 邊相連的點作爲一個集合的話,那麼就是求集合的個數 那麼我們怎麼統計 有 0邊相鄰的點呢? 很顯然不能再原圖上直接暴力跑。因爲隨着n的增大,補圖會非常大。 但是我們用並查集維護集合的個數 那麼

原创 codeforces 257D sum 【思維】

題目分析 考慮 0≤a[i+1]−a[i]≤a[i]0 \le a[i+1]- a[i] \le a[i]0≤a[i+1]−a[i]≤a[i] 所以本題倒過來考慮 我們發現,考慮每一個 i, 如果 a[i+1] 的範圍在 (a[

原创 codeforces 234F Fence[dp]

題目分析 dp[i][j][0] 表示 前i個物品中有 j 個紅色的 且第i個物品是 綠色的最小价值 dp[i][j][1] 表示 前i個物品中有 j 個紅色的 且第i個物品是 紅色的最小价值 dp[i][j][0]=min(dp

原创 bzoj4299 Codechef FRBSUM【主席樹】

題目分析 當我們考慮如果能夠 組成 [0,x]的所有的數,那麼這些數都能擴展區間,因此,我們考慮每次統計 小於 x的所有數的和,和就是當前能夠擴展的區間,然後再統計小於和的所有值的和,不斷倍增就可以了。 所以用一個主席樹維護一下

原创 2018 ICPC 焦作 E [大數+ 數論]

熟悉一下大數的板子 import java.util.Scanner; import java.math.*; public class Main { public static int [] prime = new int

原创 codeforces 185B Mushroom Scientists【不等式的應用】

題目分析 xa∗yb∗zc=aa∗bb∗cc∗(xa)a∗(yb)b∗(zc)cx^a*y^b*z^c =a^a*b^b*c^c*(\frac{x}{a})^a *(\frac{y}{b})^b*(\frac{z}{c})^cxa

原创 codeforces 1252K Addition Robot【線段樹+矩陣乘法】

題目大意 給你一個串 包含AB兩種元素,進行以下兩種操作 1、給定一個區間[l,r][l,r][l,r] 將 A 變成 B,B 變成 A 2、給定一個查詢區間 [l,r][l,r][l,r] 以及 兩個數 x,y 在區間 [l,

原创 codeforces 686D樹的重心

題目分析 要求樹以及樹的重心 性質 重心 子樹個數 *2 ≥\ge≥ 所有個數 代碼詳解 #include <bits/stdc++.h> using namespace std; const int maxn = 3e5+50;

原创 【高性能計算】 mobaXtern的使用

下載完之後 session 這裏新建一個連接,輸入ip地址,用戶名,密碼就可以連接上了 連接之後,就進入一個linux的操作界面 進入一個目標文件夾下,所有的工作都將在這個文件夾中進行 我們先新建一個hello.c的文件,隨便寫

原创 Dropping tests 【算法競賽進階指南 0x3B 16】【0/1分數規劃】【二分】

題目大意 給出n個 ai ,bi對 最多刪去其中k對 使得 Σai/Σ bi 最大 題目分析 考慮二分。因爲解的存在具有單調性。 所以二分答案 把小於0的結果放在優先隊列裏面,如果個數大於k 就彈出最大的k個即可 代碼詳解 #in

原创 C#本質論 讀書筆記(一) .NET 體系結構

本章重點 C# 與. NET的關係 CLR

原创 LRU算法的實現2【數據結構】

理論上不能算是最好的算法,但是這個方法也可以。 #include <bits/stdc++.h> using namespace std; template <typename K,typename V> class LRU{ p