群賽6總結 2017 9 8

2021-08-07 22:17:59 字數 2113 閱讀 2820

t2 maxim buys an apartment

t3 planning

t4 jury meeting

輸入乙個數,把他分成兩個互質數的和,讓小的數最大.
暴力.
#include

using

namespace

std;

int main()

}

**此類題目水題。**
n 個房間,其中有 k 個已經被出租,定義乙個空房間左邊或者右邊有被出租的房子為好房子,求好房子的最大和最小情況。
找規律.
#include

using

namespace

std;

int main()

return

0;}

**此類題目需要特判。**
機場有n架飛機,飛機i在i時起飛,由於推遲了k分鐘,每一架飛機推遲一分鐘損失xi元,問如何安排飛機,使損失最小.

輸出最小的損失和各個飛機出發時間.

利用大頭堆.
#include 

using

namespace

std;

typedef

long

long ll;

const

int n = 300001;

int c[n];

int main()

priority_queue < pair > q;

ll sum=0;

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

if(i>k)

}cout

<< sum << '\n';

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

cout

<< '\n';

}

**此類題目充分利用堆的原理。**
給幾個城市1到n,每個都要到0再回去,要待在0k天,問最少花多少錢.
暴力.
#include using namespace std;

#define ll __int64

#define n 250000

struct node

a[n];

ll vis[n],r[n],l[n];

ll cmp(node a, node b)

int main()

else

}if (sum == n)

l[i] = tot;

}sum = 0

; tot = 0

; memset(vis, 0, sizeof(vis));

for (ll i = m; i >= 1; i--)

else

}if (sum == n)

r[i] = tot;

}ll zz = 1000000000000000000

; for (ll i = m; i >= 1; i--)

}for (ll i = 1

; i <= m; i++)

else

l = mid + 1

; }

if (pos == -1)

continue

;else

if (r[pos] != -1)

zz = min(zz, r[pos] + l[i]);}}

if (zz == 1000000000000000000)

printf("-1\n");

else

printf("%i64d\n", zz);

}return0;

}

**此類題目可以先手算找規律。**

群賽7總結

已知整數n,要求將其分為數量最多的質數分成若干個2加上乙個2或3即可 pass已知三個點,要求輸出可以與之組成平行四邊形的點的個數與座標三點共線時不能組平行四邊形,其餘情況有3個 下面給出判斷的三個函式double xielv int a,int b 求斜率 int hen int a,int b,...

群賽4總結 2017 9 6

t2 arpa and an exam about geometry t3 five dimensional points t4 polycarpus dice t5 little elephant and lcm 有n個人,最多有k個人站起來,每秒都有乙個人站起來或者是坐下,詳情見題目裡的note...

群賽8總結 2017 9 11

t2 odd sum t3 minimal string t4 broken bst t5 array queries t6 mice and holes 輸入乙個數,把他分成b個數,輸出.暴力.include using namespace std int x 10000 int main cou...