原创 計蒜客習題-道路阻攔 求最小割的邊數

UPD:原來是因爲參數傳遞是用棧控制的 按照如下方式傳參會變成addedge(d,c,v,u)addedge(d,c,v,u)addedge(d,c,v,u) 就……可以防hack? 快讀玄學錯誤浪費我一個晚上+早上 發現如果不

原创 NOI2001 炮兵陣地 計蒜客習題 灌溉機器人

狀壓dp入門題 昨天調好久了結果zz把判斷行內相交的函數寫錯沒調出來  位運算優先級搞錯了) 點擊打開鏈接 #include<iostream> #include<cstdio> #include<cctype> #include<cm

原创 計蒜客習題-蒜頭君的蠟筆

一開始has_no_edge函數裏用vector 爆炸了 第四個點被卡 換成手寫棧 第五個點還是被卡 調調調 討了一份代碼發現自己沒離線做) 這個故事告訴我們要先預處理 要模2322^{32}232 直接讓int自然溢出即可 #i

原创 計蒜客習題-棋盤上的馬 最大點獨立集

看見棋盤直接黑白染色,發現馬只會跳到屬於二分圖另一側的點上 給每個點按座標編號 只連接編號爲奇數的點到編號爲偶數的點的邊 最後點數(n*n-m)減去最大匹配數 就是最大點獨立集的點數 如圖 每個奇數位置的點可以貢獻8條有向邊  所以總邊

原创 BZOJ#2318. Spoj4060 game with probability Problem

Alice和Bob在玩一個遊戲。有n個石子在這裏,Alice和Bob輪流投擲硬幣,如果正面朝上,則從n個石子中取出一個石子,否則不做任何事。取到最後一顆石子的人勝利。Alice在投擲硬幣時有p的概率投擲出他想投的一面,同樣,Bob

原创 費用流

費用流模板 LOJLOJ上模板68ms還挺快 點擊打開鏈接要跑一遍最大費用最大流和最小費用最大流 每次跑之前重新建圖 範圍很小沒什麼問題每次SPFA找出最短/最長路 然後blabla 把費用W當成邊權#include<cstdio> #i

原创 【樹鏈剖分模板】 BZOJ1036 樹的統計

在dfs1裏先處理出重兒子BZOJ傳送門:點擊打開鏈接#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cctype> u

原创 NOIP2018退役記

考完頹了一週文化課才發現遊記沒寫 這是一個day1因爲寫錯文件夾爆0的弱智 day1 T1 一開題 哇積木大賽原題 不會做 先打70pts 對數據分治 最後30分亂寫 最後3min才過大樣例 T2 我會暴力 想了下昨天晚上看的裴蜀定理

原创 BZOJ1925: [Sdoi2010]地精部落 滾動數組DP

以數字個數iii作爲階段,表示111~iii的排列 設f[i][j][0/1]f[i][j][0/1]f[i][j][0/1]表示111到iii的排列以jjj結尾,第三維爲000表示峯 爲111表示谷 則容易寫出一個方程f[i][j]

原创 牛客2018提高組模擬day4 T2 區間 差分

我的做法似乎和泥萌不太一樣啊。。還常數挺大 不過也是O(n)O(n)O(n)的 記f[i]f[i]f[i]表示iii作爲GCD的時候能向左拓展的格數 可以發現如果能拓展 f[i] = f[i + 1] + 1 直到拓展到一個不能整

原创 BZOJ1576: [Usaco2009 Jan]安全路經Travel 最短路徑樹+並查集

不難發現求出最短路徑樹後,每一條非樹邊(u, v) 可以用來更新u~lca(u, v), v~lca(u,v)這兩條鏈上的點 對於一個可被更新的點x,他的答案可以被更新爲dis[u] + dis[v] + 該非樹邊的邊權 - dis[x

原创 BZOJ1609 [Usaco2008 Feb]Eating Together麻煩的聚餐 DP

題應該人人都會做,主要用這題練習一下對拍 因爲我的暴力跑得太慢了 就把數據範圍改小了一點,用於檢測正確性足夠了(大概) BZOJ1609[dp].cpp #include<cstdio> #include<cstring> #incl

原创 BZOJ1588: [HNOI2002]營業額統計 Splay求前驅-後繼-插入

第一次碼splay,參考了多方代碼。 由於每次插入的數都旋轉到根,求前驅、後繼的函數就統統改爲求根的前驅-後繼了 其他splay的經典操作還沒涉及到,慢慢練吧:P #include<cstdio> #include<cstring>

原创 BZOJ1026: [SCOI2009]windy數 數位dp模板

f[i][j]表示當前有i位 第i位數字是j的合法windy數有幾種 統計1~x的答案時先考慮位數比x少的,然後枚舉1~{x的某一位-1} 加入答案 注意個位上的數要加1 不然取不到閉區間 #include<cstdio> #incl

原创 BZOJ1912: [Apio2010]patrol 巡邏 樹的直徑

最致命的bug是沒有bug。 題面裏最後一張圖:加兩條邊以後答案爲15 我跑出來一直是10 於是與空氣鬥智鬥勇半個小時+ k = 1的時候不難發現求個直徑就完事了 k = 2的時候就大力討論 不會有新加的邊在第一次加的邊形成的環中