2020 4 19個人賽部分解題與補題報告

2022-06-19 17:33:11 字數 2218 閱讀 5686

題意:給n,若有n個數能按規定的排序方式輸出-1,若不可以輸出反例

類似於冒泡法排序,但沒有內層排序

只有n=1或n=2的時候可以正確排序

#include#include

#include

using

namespace

std;

intmain()

else

cout

<

2 3 1

"<

}return0;

}

view code

題意:從給定的陣列中選兩個數乙個加一,乙個減一,求最後得到相同的數最多有幾個

加一減一會抵消最後的和不變,如果這n個數的和能被n整除則最後相同的最多有n個

反之,會對其中乙個數一直進行操作,所以最後相同的最多有n-1個

#include#include

#include

using

namespace

std;

int a[100010

];int

main()

if(sum%n==0

)else

return0;

}

view code

題意:n個數a[i]  每天可以選任意個數,一共選k天,使每天的和不同,每個人同一天只能選一次

先從乙個人的開始,a[1]、a[2]、....a[n]  有n種;

選兩個人的時候,a[1] a[2]    a[1]a[3] .....  a[1]a[n]  有n-1種,以此類推

一共有 n+n-1+n-2+....+1=(n+1)*n/2>=k;

#include#include

#include

#include

using

namespace

std;

int a[55

];int

main()

sort(a+1,a+n+1

);

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

cout

counts++;}}

return0;

}

view code

題意:有乙個橘子,共有n*k瓣,編號從1到n*k,有k個人 每個人都有乙個想要的編號,

每個人都分到n瓣橘子,輸出每個人的分配情況          

#include#include

#include

using

namespace

std;

int a[1000],b[1000

];int

main()

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

cout

<

"<

b[counts]=1

; }

cout

<

}return0;

}

view code

題意:給乙個數n,求小於n但是每個數不能出現超過兩個得相同數字。

輸出有多少種

這個是我的超時做法(我覺得應該也是對的吧)

#include#include

#include

#include

using

namespace

std;

seta;

intmain()

else

if(a.size()==2||a.size()==1

) a.clear();

}cout

<101

<

}return0;

}

view code

這個是看了別人的以後做的

#include#include

#include

#include

using

namespace

std;

typedef

long

long

ll;set

s;ll n;

void dfs(int a,int

b,ll c)

if(y&&y<=n)

}int

main()

}cout

<1

<

return0;

}

view code

2020 8 10 個人賽補題

include include include include using namespace std char str 1010 int num 30 int main int sum 0 for int i 0 i 26 i if sum 1 大於一則直接輸出 char ch for int i...

周五個人賽總結

這次個人賽四個小時的時間只解出來了乙個題,還是乙個水題,通過這次比賽暴露了自身存在的的幾個問題。1.解題的順序上,不願意捨棄已經有一點思路的難題,這種題可能以現在的水平,在四個小時內根本無法解出,或者根本無法正確的解出。在本次比賽中,一道題花費了兩個多小時的時間,終於將能通過案例的 寫出,但在提交後...

2021 1 28個人賽補題報告

比賽總結 本次比賽我成績一般,很大一部分原因是第一題過題速度太慢,簡單題熟練度不夠,練習程度不夠 第二題直接不會做,原因是結構體不熟,屬於知識掌握程度不夠對於等級稍高一點的題目練習更是不夠。總結下來就是練習不夠。反思 多練習,練熟簡單題目,練會能力可以觸及的題目,cf搞起來。補題 b題 b題當時也知...