11 08隊內胡策

2021-07-24 11:03:07 字數 4176 閱讀 9135

總結就是t3想錯直接翻車233.

第二題給你兩個日期,問這兩個日期差了多少毫秒。

兩行,每行乙個日期,日期格式保證為「yyyy - mm- dd hh:mm:ss這種形式。第二個日期時間一定比第乙個日期時間要大兩個日期的年份一定都是 21 世紀的年份。

一行乙個整數代表毫秒數。

2000-01-01 00:00:00

2000-01-01 00:00:01

1000
2000-01-01 00:00:00

2000-11-11 00:00:00

27216000000
從前有座山。
對於10%的資料,兩個日期相同。

對於20%的資料,兩個日期只有秒數可能不同。

對於30%的資料,兩個日期只有秒數、分鐘數可能不同。

對於40%的資料,兩個日期的年月日一定相同。

對於60%的資料,兩個日期的年月一定相同。

對於80%的資料,兩個日期的年份一定相同。

對於100%的資料,兩個日期一定都是 21 世紀的某一天,且第二個日期一定

大於等於第乙個日期。

輸出毫秒是為了坑答案等於零時,應該輸出」0」而不是」0000」233,做過的應該都明白啥意思。

比較簡單的模擬,考試的時候打的有點傻233,直接上**

**如下

#include

#include

#include

#include

#include

#define ll long long

using namespace std;

int read()

while('0'

<= in && in

<= '9')

return x * f;

}char start_time[51] , end_time[51];

int month_len[13] = ;

int c_y,c_m,c_d,c_h,c_m,c_s;

int s_y,s_m,s_d,s_h,s_m,s_s;

int e_y,e_m,e_d,e_h,e_m,e_s;

void tokiyao_taomalai()

bool

is(int x)

bool check(int e_y,int e_m,int e_d,int e_h,int e_m,int e_s)

ll calc(int e_y,int e_m,int e_d,int e_h,int e_m,int e_s)

else

while(c_y < e_y - 1)

if(is(c_y))

month_len[2] ++;

if(c_d < e_d)

while(c_m < e_m)

else

while(c_m < e_m - 1)

if(is(c_y))

month_len[2] --;

if(c_h < e_h)

while(c_d < e_d)

else

while(c_d < e_d - 1)

if(c_m < e_m)

while(c_h < e_h)

else

while(c_h < e_h - 1)

if(c_s < e_s)

while(c_m < e_m)

else

while(c_m < e_m - 1)

bool flag = 0;

if(is(c_y))

month_len[2] ++ , flag = 1;

while(!check(e_y,e_m,e_d,e_h,e_m,e_s))

}return ans;

}int main()

死亡現在有m個位置可以打 sif ,有n + 1個人在排隊等著打 sif 。現在告訴你前n個人每個人需要多長的時間打 sif ,問你第n + 1個人什麼時候才能打 sif。 (前n個人必須按照順序來)

第一行兩個整數n,m如上所述。

接下來n行每行乙個整數代表每個人所需要用的時間。

一行乙個整數表示答案。

3 211

1

1
山里有座廟。

對於100%的資料,每個人所需用的時間不超過10^5。

sx題,拿堆搞一搞完事兒,第 n + 1 push是第 n + 1 個人的最短時間。

**如下

#include

#include

#include

#include

#include

#define ll long long

using namespace std;

const

int sz = 200100;

int read()

while('0'

<= in && in

<= '9')

return x * f;

}int n,m;

priority_queue < ll > q;

int num[sz];

int main()

printf("%lld\n",-q.top());

}fclose(stdin);

fclose(stdout);

return0;}

/*5 2

1 2 3 4 5

*/

凝視揹包是個好東西,希望我也有。

給你乙個二維的揹包,它的體積是n × m。現在你有一些大小為1×2和1×3的物品,每個物品有自己的價值。你希望往揹包裡面裝一些物品,使得它們的價值和最大,問最大的價值和是多少。

第一行乙個整數��代表該測試點的資料組數。

對於每組資料,第一行有四個整數n,m,n1,n2,其中n1,n2分別代表大小為1 × 2和大小為1 × 3的物品個數。

接下來一行有n1個數代表每個1 × 2物品的價值。

接下來一行有n2個數代表每個1 × 3物品的價值。

對於每組詢問,輸出能夠達到的價值最大值。

1

2 3 2 2

1 21 2

4
廟裡有座山。
對於20%的資料,n, m ≤ 10, n1,n2≤100。

對於70%的資料,n, m ≤ 100, n1,n2

≤ 2000。

對於100%的資料,1 ≤ t ≤ 10,1 ≤ n,m ≤ 500,0 ≤ n1,n2≤ 10000。

題目都是揹包了肯定不是dp!(瞎說別當真233),每個物品的體積一定,價值不同,所以對於每一類物品,優先拿價值高的正確性顯然,然後就是怎麼放的問題,思考直接放1 x 3的物品,每個緊挨著放一定可以放到只剩兩個或乙個空,1 x 2的物品同理,那麼就不用考慮怎麼放了,直接還能放就放就沒問題,然後列舉下分給1 x 2物品的空間,處理下字首和,計算下就好,這裡需要注意的是,存在用完所有物品都不能把空間填滿的資料(md還不少,其實跟n1,n2取下min就好了),於是就掛了233.

**如下

#include

#include

#include

#include

#include

#define ll long long

using namespace std;

ll read()

while('0'

<= in && in

<= '9')

return x * f;

}int t;

ll s_sz[10010] , b_sz[10010];

ll sum_s_sz[10010] , sum_b_sz[10010];

bool cmp(int a,int b)

void init()

int main()

fclose(stdin);

fclose(stdout);

return

0;}

隊內胡策 2017 10 15

輸入描述 乙個數 t 接下來 t 行,每行乙個長度為 n 的 01 串 輸出描述 乙個數 p 表示 dqs 消耗的神力 樣例輸入 2 000011 0101 樣例輸出 26 10 資料範圍及提示 1 t 50 60 1 n 1000 100 1 n 100000 純暴力,沒什麼技術含量,但是在這道題...

隊內胡策 2017 10 12

t1 t2 狀壓dp t3 原創題 函式求和 題目描述 有乙個含有 n 個數字的序列 a,元素標號 1 到 n。同時你有 n 個函式,標號為 1 到 n。第 i 個函式函式值為序列中下標為 li 到 ri 的元素和。現在你需要維護以下兩種操作 1 x y 將序列中下標為 x 的元素修改為 y2 s ...

隊內胡策的某些題

其實胡策已經一周了,也不按時間順序放了,挑一些題目放上來,也當做複習 day1 t2 這個題的原題在洛谷上有p1550 usaco08oct 澆水洞watering hole 題目描述 眾所周知,dqs因上課不好好睡覺被班主任請回了家裡!dqs回到家發現家裡還有農場,於是他決定種些什麼,幾個月後dq...