日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

构造 Codeforces Round #275 (Div. 2) C. Diverse Permutation

發(fā)布時(shí)間:2024/8/24 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构造 Codeforces Round #275 (Div. 2) C. Diverse Permutation 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

題目傳送門(mén)

1 /* 2 構(gòu)造:首先先選好k個(gè)不同的值,從1到k,按要求把數(shù)字放好,其余的隨便放。因?yàn)槭墙^對(duì)差值,從n開(kāi)始一下一上, 3 這樣保證不會(huì)超出邊界并且以防其余的數(shù)相鄰絕對(duì)值差>k 4 */ 5 /************************************************ 6 Author :Running_Time 7 Created Time :2015-8-2 9:20:01 8 File Name :B.cpp 9 *************************************************/ 10 11 #include <cstdio> 12 #include <algorithm> 13 #include <iostream> 14 #include <sstream> 15 #include <cstring> 16 #include <cmath> 17 #include <string> 18 #include <vector> 19 #include <queue> 20 #include <deque> 21 #include <stack> 22 #include <list> 23 #include <map> 24 #include <set> 25 #include <bitset> 26 #include <cstdlib> 27 #include <ctime> 28 using namespace std; 29 30 typedef long long ll; 31 const int MAXN = 1e5 + 10; 32 const int INF = 0x3f3f3f3f; 33 const int MOD = 1e9 + 7; 34 bool vis[MAXN]; 35 int a[MAXN]; 36 37 int main(void) { //Codeforces Round #275 (Div. 2) C. Diverse Permutation 38 int n, k; 39 while (scanf ("%d%d", &n, &k) == 2) { 40 if (k == 1) { 41 for (int i=1; i<=n; ++i) { 42 printf ("%d%c", i, (i==n) ? '\n' : ' '); 43 } 44 continue; 45 } 46 memset (vis, false, sizeof (vis)); 47 int j = 1; a[0] = n; vis[a[0]] = true; bool flag = false; 48 for (int i=k; i>=1; --i) { 49 if (flag) { 50 a[j] = a[j-1] + i; vis[a[j]] = true; ++j; flag = !flag; 51 } 52 else { 53 a[j] = a[j-1] - i; vis[a[j]] = true; j++; flag = !flag; 54 } 55 } 56 int p = n; 57 for (int i=j; i<n; ++i) { 58 for (int k=p; k>=1; --k) { 59 if (!vis[k]) { 60 a[i] = k; vis[k] = true; p = k; break; 61 } 62 } 63 } 64 for (int i=0; i<n; ++i) { 65 printf ("%d%c", a[i], (i==n-1) ? '\n' : ' '); 66 } 67 } 68 69 return 0; 70 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/Running-Time/p/4695617.html

總結(jié)

以上是生活随笔為你收集整理的构造 Codeforces Round #275 (Div. 2) C. Diverse Permutation的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。