noip 2015 推銷員
題意:思路:
貪心,首先按每戶人家的推銷疲勞度從大到小排序,考慮選定一組,走路帶來的疲勞度是定的,就是最遠那個*2.
所以對於每個答案= max(sum[ i ] + mx * 2 , sum [i - 1] + h[i] )。其中sum是排序後對推銷疲勞度做的字首和,而h[i] 儲存 從 i 到 n中,最大的(2 * 距離 + 推銷疲勞度)。
#include #includeluogu 2672#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
//#pragma gcc optimize(3)
//#pragma comment(linker, "/stack:102400000,102400000")
//c++
#define lson (l , mid , rt << 1)
#define rson (mid + 1 , r , rt << 1 | 1)
#define debug(x) cerr << #x << " = " << x << "\n";
#define pb push_back
#define pq priority_queuetypedef
long
long
ll;typedef unsigned
long
long
ull;
typedef pair
pll;
typedef pair
pii;
typedef pair
p3;//priority_queueq;
//這是乙個大根堆q
//priority_queue,greater>q;
//這是乙個小根堆q
#define fi first
#define se second
//#define endl '\n'
#define okc ios::sync_with_stdio(false);cin.tie(0)
#define ft(a,b,c) for(int a=b;a <= c;++a) //
用來壓行
#define rep(i , j , k) for(int i = j ; i < k ; ++i)
//priority_queue, greater>que;
const ll mos = 0x7fffffffll; //
2147483647
const ll nmos = 0x80000000ll; //
-2147483648
const
int inf = 0x3f3f3f3f
;const ll inff = 0x3f3f3f3f3f3f3f3fll; //
18const
double pi=acos(-1.0
);template
inline t read(t&x)
//#define _debug; //*
//#ifdef _debug
freopen(
"input
", "r"
, stdin);
//freopen("output.txt", "w", stdout);
#endif
/*-----------------------show time----------------------
*/const
int maxn = 1e5+9
;
struct
node
a[maxn];
bool cmp(const node &a,const node &b);
intsum[maxn],mx,h[maxn];
intmain()
for(int i=n; i>=1; i--)
for(int i=1; i<=n; i++)
return
0;
}
NOIP2015普及組複賽A 推銷員
略方法就是把疲勞值從小到大排個序,然後從尾部開始乙個乙個取,當選到第i i 2 個時有2種取法 一是取,那麼x i的答案就是 n i 1,n 區間的疲勞值求和並加上其中最大距離的2倍 二是不取,那麼答案便是 n i 2,n 區間的疲勞值求和並加上 1,n i 區間中 疲勞值 距離的2倍 最大的乙個,...
NOIP2015普及組第四題推銷員
好久沒有寫部落格了,今天再寫一篇。還是先看題 試題描述 阿明是一名推銷員,他奉命到螺絲街推銷他們公司的產品。螺絲街是一條死胡同,出口與入口是同乙個,街道的一側是圍牆,另一側是住戶。螺絲街一共有 n 家住戶,第 i 家住戶到入口的距離為 si 公尺。由於同一棟房子裡可以有多家住戶,所以可能有多家住戶與...
NOIP2015普及組複賽T4 推銷員
阿明是一名推銷員,他奉命到螺絲街推銷他們公司的產品。螺絲街是一條死胡同,出口與入口是同乙個,街道的一側是圍牆,另一側是住戶。螺絲街一共有n nn家住戶,第i家住戶到入口的距離為s is i si 公尺。由於同一棟房子裡可以有多家住戶,所以可能有多家住戶與入口的距離相等。阿明會從入口進入,依次向螺絲街...