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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Divan and a New Project 贪心,模拟(1000)

發(fā)布時(shí)間:2025/3/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Divan and a New Project 贪心,模拟(1000) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


題意 :

  • nnn個(gè)aia_iai?,在數(shù)軸找n+1n+1n+1個(gè)點(diǎn),使得∑i=1n2?ai?∣x0?xi∣\sum_{i=1}^{n}2*a_i*|x_0-x_i|i=1n?2?ai??x0??xi?最小

思路 :

  • 貪心,直接把x0x_0x0?放在0點(diǎn),aia_iai?越大的離x0x_0x0?越近
  • sort的系數(shù)greater()實(shí)現(xiàn)從大到小的效果
  • 方案一 :除了原數(shù)組外再開一個(gè)數(shù)組p,對p進(jìn)行排序,p[i]表示第i大的元素在原先數(shù)組中的下標(biāo),奇偶下標(biāo)分別遍歷一次,res[i]表示原數(shù)組中下標(biāo)為i的元素放的位置,1,3,5,分別對應(yīng)位置是1,2,3。然后再遍歷累加得到答案;使用vector定長數(shù)組的好處 :不浪費(fèi)空間,且可以直接根據(jù)下標(biāo)輸入,不需要pb
  • 方案二 :結(jié)構(gòu)體(或者pair),第一個(gè)存aia_iai?,第二個(gè)存原先的下標(biāo),再開一個(gè)數(shù)組,數(shù)組下標(biāo)表示原先id,然后放入對應(yīng)應(yīng)該輸出的值,配合l和r雙指針,根據(jù)奇偶性放
// 方案一 #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <unordered_set> #include <math.h> #define endl '\n' #define fi first #define se secondusing namespace std; using ll = long long;void solve() {int n; cin >> n;vector<int> a(n + 1);vector<int> p(n + 1);for (int i = 1; i <= n; i ++ ) cin >> a[i], p[i] = i;sort(p.begin() + 1, p.end(), [&](int x, int y){return a[x] > a[y]; // a[p[i]] > a[p[j]]});vector<int> res(n + 1);res[0] = 0;for (int i = 1; i <= n; i += 2) res[p[i]] = (i + 1) / 2;for (int i = 2; i <= n; i += 2) res[p[i]] = -(i + 1) / 2;ll sum = 0;for (int i = 1; i <= n; i ++ ) sum += 2ll * a[i] * abs(res[i]);cout << sum << endl;for (int i = 0; i <= n; i ++ ) cout << res[i] << " \n"[i == n]; }int main() {cin.tie(nullptr) -> sync_with_stdio(false);int _;cin >> _;while (_ -- )solve();return 0; } // 方案二 #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <unordered_set> #define endl '\n' #define fi first #define se secondusing namespace std; using ll = long long;const int N = 2e5 + 10;typedef pair<int, int> PII;PII a[N]; int p[N];void solve() {int n; cin >> n;for (int i = 1; i <= n; i ++ ) cin >> a[i].fi, a[i].se = i;sort(a + 1, a + n + 1, greater<PII>());p[0] = 0;int l = -1, r = 1;ll sum = 0;for (int i = 1; i <= n; i ++ ){if (i % 2){sum += 2ll * a[i].fi * r;p[a[i].se] = r ++ ;}else{sum += 2ll * a[i].fi * (-l);p[a[i].se] = (l -- );}}cout << sum << endl;for (int i = 0; i <= n; i ++ ) cout << p[i] << " \n"[i == n]; }int main() {cin.tie(nullptr) -> sync_with_stdio(false);int _;cin >> _;while (_ -- )solve();return 0; }

總結(jié)

以上是生活随笔為你收集整理的Divan and a New Project 贪心,模拟(1000)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 毛片高清免费 | 欧美日韩中文国产 | 日本黄色三级 | 国产五月婷婷 | 美女黄色一级视频 | 欧美亚洲一区二区三区 | 国产精品国产一区二区三区四区 | 天天干视频在线 | 亚洲人成色777777精品音频 | 美女在线网站 | 国产精品露脸视频 | 黄a网站 | 永久免费不卡在线观看黄网站 | 性少妇videosexfre | 无码人妻一区二区三区av | chinese hd xxxx tube麻豆tv| 亚洲精品aaaaa| 亚洲91网站| 婷婷五月精品中文字幕 | 电家庭影院午夜 | 蜜桃视频在线网站 | 国产精品嫩草影院精东 | 无码丰满熟妇 | 福利电影在线播放 | 欧美国产一二三区 | 性色AV无码久久一区二区三 | 香蕉蜜桃视频 | 肉肉av福利一精品导航 | 婷婷开心激情网 | 越南a级片 | 中文在线观看视频 | 国产欧美日韩综合精品 | 69色视频 | 亚洲精品小视频在线观看 | 午夜精品一区二区三区在线 | 亚洲最大的成人网站 | 国产一区日韩 | 天天操 夜夜操 | 黄色片日韩 | 久久思| 亚洲天堂久久久 | 日韩欧美一区二区三区四区 | 黄色小说网站在线观看 | 成人免费黄色片 | 免费毛片在线 | 午夜在线成人 | 先锋影音av资源网 | 波多野结衣在线电影 | 狼人精品一区二区三区在线 | 国产a免费视频 | 国产三区在线观看 | 男女羞羞动态图 | 日韩在线第二页 | 5d肉蒲团之性战奶水 | 国产九色91回来了 | 午夜视频日韩 | 91久久久久久| 国产理论视频 | 4虎最新网址 | 欧美xxxx中国 | 狠狠干狠狠操 | 福利视频在线看 | 91caob| 国产综合久久久久久鬼色 | 噜噜噜视频 | 日韩激情毛片 | 五月天激情四射 | 电影91久久久 | 91视频在线视频 | 国产精品久久久一区 | 欧美日韩一区二区在线 | 亚洲一区在线看 | 免看一级a毛片一片成人不卡 | 欧美1级片 | 欧美乱码精品一区二区 | 日韩一区二区在线免费观看 | 成人福利网站在线观看 | 国产自偷自拍 | 九九视频在线免费观看 | 人人爱国产 | 日韩在线观看视频一区二区三区 | 天天操天天草 | 中文字幕日韩视频 | 欧美激情影音先锋 | 天天操夜夜爽 | 国产永久免费视频 | 一级黄色片毛片 | 亚洲午夜精品久久久久久app | 亚洲成a人无码 | 中文字幕电影一区 | 伊人久久艹| 国产婷婷色一区二区 | 免费黄色国产 | 成人做爰黄 | 六月综合 | 日本乱淫视频 | 男男做爰猛烈啪啪高 | 蜜桃精品成人影片 | 理论视频在线观看 |