yuyaoi p1516導遊 YYHS加強版

2021-08-17 13:55:46 字數 1005 閱讀 9953

導遊(yyhs加強版)

題目描述

寧波市的中小學生們在鎮海中學參加程式設計比賽之餘,熱情的主辦方邀請同學們參觀鎮海中學內的各處景點,已知鎮海中學內共有n處景點。現在有n位該校的學生志願承擔導遊和講解任務。每個學生志願者對各個景點的熟悉程度是不同的,如何將n位導遊分配至n處景點,使得總的熟悉程度最大呢?要求每個景點處都有乙個學生導遊。

輸入有若干行:

第一行只有乙個正整數n,表示有n個景點和n個學生導遊。

第二行至第n+1行共n行,每行有n個以空格分隔的正整數。第i+1行的第j個數k(1≤k≤1000),表示第i個學生導遊對景點j的熟悉程度為k。

輸出只有一行,該行只有乙個正整數,表示求得的熟悉程度之和的最大值。

樣例輸入

3 10 6 8 9 2 3 1 7 2

樣例輸出

24提示

【樣例說明】

第1個學生負責第3個景點,第2個學生負責第1個景點,第3個學生負責第2個景點時,熟悉程度總和為24,達到最大值。

【資料限制】

50%的資料,1≤n≤9;100%的資料,1≤n≤17。

題目分析

這道題可用dfs剪枝做但是如果有針對你的剪枝的資料就會被卡點;所以還是有必要寫乙個正解;

正解明顯是狀壓dp用狀態s表示第幾個風景有沒有被去過;其中s中1的個數表示的第幾個導遊去第幾個風景;

這樣就可以很輕鬆的寫出轉移方程;

轉移方程:

f[s]=max]+a[i][j]}(其中i可以通過位運算求的,詳見**

)

#include#include#define lowbit(x) x&-x

using namespace std;

int n;

int f[1<<17];

int a[18][18];

int main()

printf("%d",f[(1

}

奮鬥群群賽 15,16

t2s palindrome t3 exponential notation t4swaps in permutation t5xor sequences t6couple cover t1位置所在 就是給你乙個 01串,讓你找出是否這個串只有乙個 0 如果是,輸出 yes 不然就是輸出 no 但是...

15 16 二分查詢

二分查詢針對乙個有序的資料集合,每次通過和區間的中間元素對比,將待查區間縮小為之前的一半,知道查到要查詢的元素,或者區間縮小為0。查詢的時間複雜度 o logn 待查區間是 n,n 2,n 4,n 8,n 2 k。其中當n 2 k 1時,查詢了k log2n次,並且每次查詢只涉及兩個資料的大小比較操...

劍指offer 第15 16題

輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。coding utf 8 classsolution defnumberof1 self,n write code here count 0 ifn 0 n n 0xffffffff whilen count 1 n n 1 n re...