奮鬥群群賽 13,14 跑跑更健康

2021-08-08 18:25:26 字數 3942 閱讀 9258

t2dima and to-do list

t3dima and salad

t4t5dima and magic guitar

群賽14

t2decoding

t3tram

t4green and black tea

t1位置所在

就是有四個守衛,你需要賄賂一行的守衛,每行有2個守衛,有4個資料,分別是守衛1的蛋糕和茶水的值和守衛2的,,,如果輸入的資料的錢數能夠賄賂,就是出方案的花費!

#include 

using namespace std;

int main()

}if(flag==1)

else

printf("-1\n");

return

0;}

無…

t2位置所在

就是每次取物品隔著m個數來取,求輸出的最大的和值的情況的初始的點的位置.

#include 

using

namespace

std;

const

int n=100005;

int a[n];

long

long t[n];

int main()

for(int i=1; i<=m; i++)

if(ansprintf("%d\n",loc);

return

0;}

t3位置所在

有n個蛋糕,輸入了第一行是各個蛋糕的美味值ai,接下來是花費值bi,求使得能讓取了m個蛋糕的美味值的總和除以m個蛋糕的花費之總和為k!

求最大的美味值總和,並且輸出∑ai的知就好了!

就是將a[i]的值每次都減去k*b[i],就相當於是分離正係數的乙個做法,就像這樣:

for(int i=1; i

<=n; i++)

在就會得到一些有正有負的x[i]陣列,只要選取將其和為0 的資料就是可以了!因為這時候就是可以整除,因為互補嘛!

#include 

using

namespace

std;

const

int n=10005;

int a[n],b[n],x[n];

int dp[105][n];

int main()

for(int i=1; i<=n; i++)

printf("%d\n",dp[n][v]?dp[n][v]:-1);

return

0;}

t4位置所在

有n個點m條無向邊。初始你需要選擇乙個整數x,走第i條邊的限制為li <= x <= ri,假設1-n的一條路徑上可以選擇的整數x有ans,問你最大的ans。

(所以說就是並查集,加上乙個暴力列舉就好了!)

#include 

#include

#include

#include

using

namespace

std;

const

int n=2003;

int fa[n],ans;

struct tree

t[3005];

bool com(tree x,tree y)

int find(int x)

void add(int x,int y)

bool judge(int x,int y)

int main()

sort(t+1,t+1+m,com);

for(int i=1; i<=m; i++)}}

ans?printf("%d\n",ans):printf("nice work, dima!\n");

return

0;}

就是相當於一些大大小小的水管一樣的,每個資料都有上限和下限,所以就是問你,有多少的水流能夠一次性流到底:那麼就是變成了想法就是列舉乙個資料的下限!就是a[i].r的值,表示我每次只是去比它大的值,別的不去,就是這個思路了!

t5位置所在

就是求曼哈頓最遠距離……

#include 

using

namespace

std;

const

int n=20005;

int f[n][10];

int main()

for(int i=1; i<=n; i++)

for(int j=1; j<=m; j++)

int sta,end,ans=0;

scanf("%d",&sta);

for(int i=2; i<=len; i++)

printf("%d\n",ans);

return

0;}

one:

(x1-x2) + (y1-y2) ---> (x1+y1) - (x2+y2)

two:

-(x1-x2) + (y1-y2) ---> (x2-y2) - (x1-y1)

three:

(x1-x2) - (y1-y2) ---> (x1-y1) - (x2-y2)

four:

-(x1-x2) - (y1-y2) ---> (x2+y2) - (x1+y1)

t1位置所在

不說了,直接上**!

#include

using namespace std;

int main()

t2位置所在

輸入1個長度為n(1<=n<=2000)的字串s1是由另乙個長度為n的字串s2變化而來,變化規則是:每次都把s2中間(如果長度是偶數就取小的乙個)的字母拿出放到s1的第乙個上,由此反覆進行直到取完。要求輸出s2這個字串。

找規律!!!

#include

using

namespace

std;

const

int n=2005;

char a[n],s[n];

int main()

if(n%2==1)

for(int i=1;i<=n;i++)

cout

for(int i=1;i<=n;i++)

cout

在一條直線上,座標從0到s。 人要從x1位置向x2位置移動,前進乙個單位要t2時間。 當人在x1位置,車子在p位置,前進乙個單位要t1秒。方向為d,d==1表示從正方向前進, d == -1表示負方向前進。 人可以在與車子相遇時,坐上車子。

#include

using namespace std;

int main()

else

if(tot2>tot1)

coutcout0;}

這道題目的關鍵就是抓住車到終點的時間和人到達終點的時間的min值!

就是這麼妙的題目!

t4位置所在

就是喝紅茶和黑茶,每次不能夠連續喝k次,輸出喝茶的方案就好!

#include 

using

namespace

std;

int main()

if(a<=b)

for(int i=1; i<=cha; i++)

for(int i=1; i<=a+b; i+=2)

cout

<<"g"

<<"b";

}else

for(int i=1; i<=cha; i++)

for(int i=1; i<=a+b; i+=2)

cout

<<"b"

<<"g";

}}

奮鬥群群賽 4

t2arpa and an exam about geometry t3five dimensional points t4polycarpus dice總結 t1位置所在 有一排觀眾席,有n個人,當t 1時第乙個人站起來,t 2時第二個人站起來,t 3時第三個人站起來 到k位置,都是站起來,但是k...

奮鬥群群賽 9

t2the queue t3garland t4cartons of milk t5change free總結 t1位置所在 就是給你n個數字,讓你建乙個塔,從n到底部而且最後再到1,輸入天數,如果可以建立塔的話,輸出這些部分,如果沒有可以建的東西,就輸出換行就好了,第i位對應第i天下下來的食物!求...

奮鬥群群賽 15,16

t2s palindrome t3 exponential notation t4swaps in permutation t5xor sequences t6couple cover t1位置所在 就是給你乙個 01串,讓你找出是否這個串只有乙個 0 如果是,輸出 yes 不然就是輸出 no 但是...