題意:有一個電視台廣播節目,廣播的網路用一棵樹表示,節點1表示電台,葉子結點表示使用者,使用者願意付一定的錢去收看這個節目,從非葉子結點到其他結點需要一定的費用(即從中繼點到另一個中繼點需要一些錢),問最後在不虧本的情況下,最多能使多少人收看到節目。定義dp[i][j]表示在節點i為根節點的子樹下,有j個人收看節點的最大利潤。狀態轉移方程是:dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[son of i][k])#include
題意:有T組測試資料,每組資料的N表示有N個城市,接下來的N行裡每行給出每個城市的座標(0<=x,y<=1000000),然後有M(1<M<200000)個操作,操作有兩類,(1)"road A B",表示將城市A和城市B通過一條道路串連,如果A和B原來屬於不同的城市群,經過這個操作,A和B就在一個城市群裡了,保證每條道路不會和其他道路相交(除了端點A和B)。(2)"line C",表示查詢當穿過y=C的直線,有多少個城市群、這幾個城市群一共有多少個城市。
js可以利用dom非常輕鬆的就可以遍曆一個表格。當然只要是dom中有的所有對象都可以通過js來訪問和處理。代碼<html><head><title>遍曆表格</title><script language="javascript"> function getData() { var arrData=new Array(); var
題意:類比約瑟夫環。有N(1<=N<=500000)個孩子圍成一圈,他們被順時針編號為 1 到 N。每個小孩手中有一個卡片,上面有一個非 0 的數字,遊戲從第 K 個小孩開始,他告訴其他小孩他卡片上的數字並離開這個圈,他卡片上的數字 A 表明了下一個離開的小孩,如果 A 是大於 0 的,則下個離開的是左手邊第 A 個,如果是小於 0 的,則是右手邊的第 A 個小孩。遊戲將直到所有小孩都離開,在遊戲中,第 p 個離開的小孩將得到 F(p) 個糖果,F(p) 是 p
題意:給你一棵樹,樹上的每個節點都有樹值,給m個查詢,問以每個點u為根的子樹下有多少種權值恰好出現k次。方法跟 Codeforces Round #136 (Div. 2) D. Little Elephant and Array很類似,只不過要將樹型結構轉化成線型結構。#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include
題意:給你N個數,每個數a[i]的範圍在[-100000,100000],然後有Q個查詢,每個查詢問區間[x,y]內最大子區間和為多少,並且重複出現的值只能計算一次(如果是負數,輸出0,即可以子區間可以為空白)。 離線處理查詢。每個值只能計算一次的方法同之前的hdu 3333 Turing Tree & hdu 3874 Necklace (成段更新)及Codeforces Round #136 (Div. 2) D. Little Elephant and
題意:有N個數,M個操作。(1)"= l r k",表示把區間[l,r]的數全部變成k。(2)"? l r k",查詢區間[l,r]範圍裡。k比較小,將式子拆開成多項式,一項一項加。數學的東西感覺多些。。#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long LL;#define LL(x) (x<<1)#define