牛客IOI周賽22 普及組

2021-10-22 09:59:32 字數 4011 閱讀 3876

暴力列舉

/*

*@author sunlakewalk

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#pragma gcc optimize(2)

//#pragma gcc optimize(3, "ofast", "inlin")

using

namespace std;

#define ios ios::sync_with_stdio(false) , cin.tie(0)

#define x first

#define y second

typedef

long

long ll;

typedef

unsigned

long

long ull;

typedef pair<

int,

int> pii;

const

int n =

210, inf =

0x3f3f3f3f

, mod =

1e9+

7, base =

131;

const

double eps =

1e-4

, pi =

acos(-

1);struct node

a[n]

;int n;

double

get(node a,

int x,

int y)

void

work()

for(

int i =

1; i <=

200; i ++

)for

(int j =

1; j <=

200; j ++)if

(f)}

cout <<

"war is cruel."

<< endl;

}int

main()

return0;

}

先離散化

然後,我們按照從小到達的順序來看每個數。

只要當前數該在的位置,大於他接下來的數該在的位置,說明當前出現了上公升趨勢,那就計數。

/*

*@author sunlakewalk

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#pragma gcc optimize(2)

//#pragma gcc optimize(3, "ofast", "inlin")

using

namespace std;

#define ios ios::sync_with_stdio(false) , cin.tie(0)

#define x first

#define y second

typedef

long

long ll;

typedef

unsigned

long

long ull;

typedef pair<

int,

int> pii;

const

int n =

800010

, inf =

0x3f3f3f3f

, mod =

1e9+

7, base =

131;

const

double eps =

1e-6

, pi =

acos(-

1);int n;

int a[n]

, b[n]

, pa[n]

;void

print()

void

work()

sort

(b +

1, b +

1+ n)

;for

(int i =

1; i <= n; i ++

)for

(int i =

1; i <= n; i ++

) pa[a[i]

]= i;

// print();

int res =

0, pre =0;

for(

int i =

1; i <= n; i ++

) cout << res << endl;

}int

main()

return0;

}

最小生成樹

/*

*@author sunlakewalk

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#pragma gcc optimize(2)

//#pragma gcc optimize(3, "ofast", "inlin")

using

namespace std;

#define ios ios::sync_with_stdio(false) , cin.tie(0)

#define x first

#define y second

typedef

long

long ll;

typedef

unsigned

long

long ull;

typedef pair<

int,

int> pii;

const

int n =

200010

, m =

4000010

, inf =

0x3f3f3f3f

, mod =

1e9+

7, base =

131;

const

double eps =

1e-6

, pi =

acos(-

1);struct node

}edges[m]

;int n, m;

int f[n]

;void

init()

intget

(int x)

void

kruskal()

cout << res *

2<< endl;

}void

work()

;}sort

(edges, edges + m)

;kruskal()

;}intmain()

return0;

}

牛客IOI周賽22 普及組

1.戰爭尾聲 題目鏈結 題解 因為資料量非常小,直接遍歷每乙個點即可 include include include using namespace std typedef pair int,int pii double getlength double x,double y,pii v intma...

牛客IOI周賽22 普及組

a.戰爭尾聲 思路 列舉從 1,1 至 200,200 所有的點,判斷是否存在乙個點到其他所有點距離均相等,然而這道題實際上不一定要開double 用int一樣可以過,因為在計算距離的時候保留距離的平方值進行比較也是可以允許的,時間複雜度 o n 200 2 100分 include include...

牛客IOI周賽20 普及組

牛客的簽到題,最暴力的做法就是把數每個因子羅列出來,但是這樣只有60的暴力分,我們從題目的資料可以看到 資料範圍是1e7的,在學習素數的時候我們知道乙個因子就能推出另乙個因子,所以我們沒必要從1判斷到n 1 直接i i n就能找到所有的因子,但是注意像16這樣的數,當我們的i為4的時候,這個4的因子...