【題解】洛谷P1012拼數[NOIP1998] 字串+排序
題目連結
乍一看還有點唬人……結果簡單的一批
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define _rep(i,a,b) for(int i=(a);i<=(b);i++)
string str[25];
bool cmp(string a,string b){return a+b>b+a;}
int main()
{
//freopen("in.txt","r",stdin);
int n;
cin>>n;
_rep(i,1 ,n)cin>>str[i];
sort(str+1,str+n+1,cmp);
_rep(i,1,n)cout<<str[i];
return 0;
}
相關推薦
【題解】洛谷P1012拼數[NOIP1998] 字串+排序
題目連結 乍一看還有點唬人……結果簡單的一批 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; #define _
洛谷P1012拼數題解
洛谷P1012拼數 C++的STL模板庫中的sort函式在字串排序問題中的妙用cmp也可醫用lamada格式C++11的版本支援 #include<bits/stdc++.h> using namespace std; vector<
【題解】洛谷P2022 有趣的數
題解半天看不懂系列。。。 這裡可以模擬一下,我們首先要求數值比k小,但字典序在k前面的數的數量,用cnt表示。這裡為了方便,我們可以採用程式碼中的方式計算。然後特判無解的情況。接著我們對比k大、字典序在k前面數的數量嗎,逐漸擴大N,以K的10^i擴大,當ans>m時,
洛谷——P1012 拼數
sca stream pre i++ n) pac problem lan ace https://www.luogu.org/problem/show?pid=1012#sub 題目描述 設有n個正整數(n≤20),將它們聯接成一排,組成一個最大的多位整數。
洛谷P1012 拼數
題目 ++ mes 輸出 sca clu name cout esp 題目描述 設有n個正整數(n≤20),將它們聯接成一排,組成一個最大的多位整數。 例如:n=3時,3個整數13,312,343聯接成的最大整數為:34331213 又如:n=4時,4個整數7,13,4
【題解】洛谷P1975排序
space getchar() class std -- names char 圖書管理員 wap 分塊,註意重復的值之間的處理。跟普通分塊的操作一樣的啦,具體可以參見‘不勤勞的圖書管理員’。 #include <bits/stdc++.h> using na
洛谷P1012拼數(string相加)(小技巧)
color font col 整數 比較 DC with 然而 cin 題目描述 設有n個正整數(n≤20),將它們聯接成一排,組成一個最大的多位整數。 例如:n=3時,3個整數13,312,343聯接成的最大整數為:34331213 又如:n=4時,4個整數7,13,4,
【題解】洛谷P2418 yyy loves OI IV
轉移 || 暴力 兩種 clu OS AD spa IT 感覺很是妙啊……這題數次誤入歧途...最開始想的二維dp,單調隊列優化;無果,卒。於是沒忍住看了下標簽:暴力枚舉?搜索?於是開始想記憶化搜索。以為會有什麽很強的剪枝之類的;30分,卒。最後終於回到正道上:50 000
【題解】洛谷6月月賽 —— 「數學」約數個數和
分解 pri clas left pac 這樣的 DC 兩個 探測 看德國戰墨西哥去了結果發現比賽只剩下30分鐘……當然之後又思考這題挺久也還是不會做。看了一下題解,覺得這個做法挺厲害的,在這裏記錄一下: 原式實際上就是:(\(K +=
【題解】洛谷P1941 [NOIP2014TG] 飛揚的小鳥(揹包DP)
次元傳送門:洛谷P1941 思路 從題意可知 在每個單位時間內 可以無限地向上飛 但是隻能向下掉一次 所以我們可以考慮運用揹包解決這道題 上升時 用完全揹包 下降時 用01揹包 設f[x][y]為在座標(x,y)時的最小點選螢幕次數 當飛到天花板時和撞到柱子時特判 一開始設ans為極大值 如
【題解】洛谷P1315 [NOIP2011TG] 觀光公交(字首和+貪心)
次元傳送門:洛谷P1315 思路 思路大概想到了 可是程式碼實現卻沒想到 所以參考題解了 D2T3的貪心果然有難度 我們考慮在每次用加速器有兩種情況 到下一個點還需要等待:以後的時間就不再影響了 到下一個點不需要等待:那麼就會影響到後面的時間直到出現情況1(或者到最後一個點) 用sum
【題解】洛谷P1373 小a和uim之大逃離(座標DP)
次元傳送門:洛谷P1373 思路 設f[i][j][t][1/0]表示走到(i,j)時 小a減去uim的差值為t 當前是小a取(0) uim取(1) 那麼轉移就很明顯了 f[i][j][t][0]=(f[i][j][t][0]+f[i-1][j][(t-map[i][j]+k)%k][1])%1
【題解】洛谷P1273 有線電視網(樹上分組揹包)
次元傳送門:洛谷P1273 思路 一開始想的是普通樹形DP 但是好像實現不大好 觀摩了一下題解 是樹上分組揹包 設f[i][j]為以i為根的子樹中取j個客戶得到的總價值 我們可以以i為根有j組 在每一組中分別又取1個,2個,3個......n個客戶 化為揹包思想即 j為一共有j組 揹包容量為每
【題解】 洛谷1120 小木棍 [資料加強版]
原題 剪枝好題,可以有以下9個剪枝(基本上都是可行性剪枝,還有一些搜尋順序的剪枝),這是一道除了生日蛋糕以外的剪枝好題當然不會告訴你Biscuit46花了1h做這道題目 #include<stdio.h> #include<stdlib.h> #include<strin
【題解】洛谷P1169 [ZJOI2007] 棋盤製作(座標DP+懸線法)
次元傳送門:洛谷P1169 思路 浙江省選果然不一般 用到一個從來沒有聽過的演算法 懸線法: 所謂懸線法 就是用一條線(長度任意)在矩陣中判斷這條線能到達的最左邊和最右邊及這條線的長度 即可得到這個矩陣的最大值 那麼我們定義3個數組 l[i][j]表示(i,j)能到達最左邊的座標 r[i][j]
【題解】洛谷P2577 [ZJOI2005] 午餐(DP+貪心)
次元傳送門:洛谷P2577 思路 首先貪心是必須的 我們能感性地理解出吃飯慢的必須先吃飯(結合一下生活) 因此我們可以先按吃飯時間從大到小排序 然後就能自然地想到用f[i][j][k]表示前i個人在第一個視窗排隊用了j時間 在第二個視窗排隊用了k時間 然後就自然地炸空間了 所以我們要
【題解】洛谷P1070 道路遊戲(線性DP)
次元傳送門:洛谷P1070 思路 一開始以為要用什麼玄學優化 沒想到O3就可以過了 我們只需要設f[i]為到時間i時的最多金幣 需要倒著推回去 即當前值可以從某個點來 那麼狀態轉移方程為: f[i]=max(f[i],f[i-k]+val-cost[now]); now表示從now這個
【題解】洛谷P3959 [NOIP2017TG] 寶藏(狀壓DP+DFS)
洛谷P3959:https://www.luogu.org/problemnew/show/P3959 前言 NOIP2017時還很弱(現在也很弱 看出來是DP 但是並不會狀壓DP 現在看來思路並不複雜 只是存狀態有點難想到 思路 因為n最大為12 所以可以想到是狀壓
【題解】洛谷P1879 [USACO06NOV] Corn Fields(狀壓DP)
洛谷P1879:https://www.luogu.org/problemnew/show/P1879 思路 把題目翻譯成人話 在n*m的棋盤 每個格子不是0就是1 1表示可以種 0表示不能種 相鄰的格子不能同時種 求總方案數 把每行看成一個n位的2進位制數 預處理出每行的狀態後 進行DP
【題解】洛谷P1896 [SCOI2005] 互不侵犯(狀壓DP)
洛谷P1896:https://www.luogu.org/problemnew/show/P1896 前言 這是一道狀壓DP的經典題 原來已經做過了 但是快要NOIP 複習一波 關於一些位運算的知識點參考: https://blog.csdn.net/fox641941