1.六個數里取所有三個數的全排列按字典序輸出
法一:我記得比賽時我用的是二維陣列,每一維先排序,竟然立馬水過了,後來我想要是數多了就很麻煩,於是有了下面的方法。
法二:
1 #include 2 #include 3 #include 4using
namespace
std;56
const
int maxn = 25;7
intn,num;
8int
a[maxn];
9bool vis[maxn] = ;
1011
void fun(int
cnt)
1222
else
23for(int i=1; i<=n; i++)
24if(!vis[i])
2531}32
33int
main()
34
2.求字典序的第k的排列
參見poj 1037(不只是簡單地求第幾個排列),下面的方法都超時(應該是wa)了;參加黑書p257,也可以求1開頭的共幾個排列,這樣逼近,不過若是位數較多,陣列開不了
法一:
1//超時,求第幾個排列
2 #include 3 #include 4 #include 5
using
namespace
std;67
const
int maxn = 25;8
intn,k;
9int
a[maxn];
1011
void
solve()12
2526 }while(next_permutation(a,a+n));27}
2829
intmain()
3042
return0;
43 }
法二:
1 #include 2 #include 3 #include 4using
namespace
std;56
const
int maxn = 25;7
intn,k;
8int
a[maxn];
9int cnt = 0;10
11void solve(int
cur)
1224}25
else
26for(int i=1; i<=n; i++)
2737}38
}394041
intmain()
4252
return0;
53 }
一.上乙個排列
普通演算法沒找到,可以直接prev_permutation()
二.下乙個排列
a.普通演算法
從最後一位 找到第乙個非遞減的位數,假設最末尾連續的遞減位數為k;例如12354 54是遞減的 所以找到3 k=2;然後將這一位與最後一位互換 例如12354 換成12453;那後k位是降序序的 ;所以將最後k位改成公升序即可。
b.
1 #include2 #include3using
namespace
std;45
intmain()
6
關於fusionchart的若干問題
最近在做的乙個專案用到fusionchart這個外掛程式,期間遇到了一些問題,特整理出來以備忘,更與後來人分享 1 關於傳參。一般我們都是通過setdataurl url 來調後台的服務類獲取所要展現的資料,可是我們經常會在url中通過 傳多個查詢引數,這時一般都會出錯。這是因為編碼的問題,要通過e...
關於TCP連線的若干問題
從 url 在瀏覽器被被輸入到頁面展現的過程中發生了什麼?基本路徑為 1 url解析 dns解析查詢網域名稱ip位址 2 tcp 連線 tcp 三次握手 3 網路連線發起http請求 4 伺服器接收資料並響應請求 mvc 5 伺服器返回 http 報文,客戶端接收資料 6 瀏覽器載入 渲染頁面 7 ...
ceph若干問題
ceph health可以檢視ceph集群健康狀況 ceph df 可以檢視儲存的總使用率與各pool的使用率 ceph osd df 可以檢視各osd的使用率 ceph s 或 ceph status 可以檢視集群整體狀態 首先,我們要知道ceph的osd的位址 ceph osd tree可以檢視...