原创 2018中國大學生程序設計競賽 - 網絡選拔賽--HDU 6446 Tree and Permutation(思維)

題意: 有 n 個點標爲 1 ... n,對其全排列,按排列後順序走,求其路徑總和。 題解: 通過對樣例全排列發現答案就是邊的使用次數乘上權值的求和。 如果我們考慮一個邊,除去這個邊的兩點,對其 n-1 個點全排列(把邊想象成一個點),正

原创 BNU53079--雷電爆裂之力(思維)

題意: 有n條京師路與木鐸路之間的路,m條木鐸路與金聲路之間的路,k條金聲路與新街口外大街之間的路,路的長度是1m。每個階段的速度都是1m/s,可以從京師路任何點開始到新街口外大街任何點,求京師路到新街口外大街的最短時間。 題解: 影響結

原创 CodeForces - 327A(思維)

#include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #include <

原创 2018 Multi-University Training Contest 10--HDU 6435 Problem J. CSGO(狀態壓縮+暴力)

題意: 有 n 個主武器和 m 個副武器,每個武器都有是 s 價值和 x[i] (i = 1...k)屬性,通過公式求出一種主武器和副武器組合的最大值。公式: 題解: abs(x[i]-x[j]) = x[i]-x[j] 或者 x[j]

原创 2018中國大學生程序設計競賽 - 網絡選拔賽--HDU 6447 YJJ's Salesman(dp+線段樹)

題意: 一個人要從(0,0)的村莊走到(1e9,1e9)的村莊,有些村莊有 w 值。他只能斜着走才能獲得那些值,問你他最多可以獲得多少值。 題解: 如題我們可以得到 dp 公式 :dp[i][j] = max(dp[i-1][j-1]+w

原创 2018中國大學生程序設計競賽 - 網絡選拔賽--HDU 6438 Buy and Resell(貪心)

題意: 有 n 個城市,每個城市可以買一個價值爲 ai 的東西或者賣一個價值爲 ai 的東西,假設你一開始有無數的錢,問你經過這些城市最多可以賺多少利潤。 題解: 有利潤就要當前的值大於你買進去的值,比如第一個樣例:(10-2,9-1)

原创 2018 Multi-University Training Contest 10--HDU 6437 Problem L.Videos(最大費用最大流)

題意: 有 k 個人看 m 個視頻,一天有 n 個小時,每個視頻只能一個人看,看完一個視頻那個人會獲得 W 快樂值,視頻有自己的限制種類,視頻種類相同一起看會扣 w 快樂值。問一天這羣人最多可以獲得多少快樂值。 題解: 我們可以想象 k

原创 ACM-ICPC 2018 南京賽區網絡預賽--J Sum(數論)

題意: 6 = 1*6 = 2*3 = 3*2 = 6*1,12 = 2*6 = 6*2(12可以被2^2整除),這樣 f(6) = 4,f(12) = 2,求 f(1) ... f(n) 的和。 題解: 其實我們把數字拆成質數相乘就會發

原创 ACM-ICPC2018北京網絡賽 Saving Tang Monk II(bfs+剪枝)

題意: S是起點,T是終點,B是加氧氣點並花費一分鐘,. 是任何條件都可以走並花費一分鐘,#是要有氧氣的情況下可以走但是要花費兩分鐘,P是可以少一分鐘。 最多可以帶5個氧氣瓶,問從起點到終點最小花費時間。 題解: 每一點有6個狀態,即 0

原创 北師大珠海分校第十六屆IT節網絡預選賽題解

A.分不分 題意:     找一個 a + b = n, 且 a / b 最簡和最大。 題解:     大多數人都錯在了真分數上,不瞭解自行百度。     要取 a / b 最大,一定是從 n 的一半開始取,所以從 n / 2 開始左右

原创 CodeForces - 897D(二分+思維)

題意: 給你一個從 1 到 n 的數組,有 q 次操作,每次操作把數組每一個元素都加 l 、l + 1、...、r,求這些變化過程中不同數字的個數。 題解: 可以把 + l 到 + r 看成 + 0 到 + (r - l),這樣就轉變成了

原创 CodeForces - 897D(思維)

題意: 交互題,有一個長度爲 n 的數組,有 m 次操作,每次操作會獲取機器給的一個在 1 到 c 的數字,將它填在數組中,並輸出位置,數組裏的數字要不遞減。 題解: 因爲 (c / 2) * n <= m。 所以每一位都有可能填寫 c

原创 HDU 6468 zyb的面試(模擬)

題意: 將一個從 1 到 n 的數組進行字典序排序,輸出第 k 個數字。 題解: 直接模擬字典序增加,注意範圍,不會超時(範圍較小)。 AC代碼: #include <algorithm> #include <iostream> #i

原创 CodeForces - 862D(二分)

題意: 交互題,他會告訴你有一個只有 0 和 1 的數組的長度 n,接下來你有不多餘15次操作: “? str” ?是詢問操作,str就是你認爲這個數組的樣子,他會返回裏面錯了多少個,繼續循環,不能超過15次。 “! pos0 pos1”

原创 HDU 6470 Count(矩陣快速冪)

題意: 第一頭牛和第二頭牛的號碼爲 1 和 2,其餘的牛的號碼需要通過公式求得: f(n) = f(n - 1) + 2 * f(n - 2) + n * n * n , (f(1) = 1,f(2) = 2,分別是第一頭和第二頭)。 題