20161104校內訓練

2021-07-24 08:36:30 字數 2423 閱讀 1183

一道類似模擬的題,就根據所寫的東西來做就可以了。

#include 

#define rep( i , l , r ) for( int i = (l) ; i <= (r) ; ++i )

#define per( i , r , l ) for( int i = (r) ; i >= (l) ; --i )

#define erep( i , u ) for( int i = head[(u)] ; ~i ; i = e[i].nxt )

using

namespace

std;

void fileinout()

int solve( int q , int l )else

}int main()

給你乙個序列,求al

...a

r(1≤

i≤j≤

n)使得al

|al+

1|..

.ar(

1≤i≤

j≤n)

<

m 這樣的二元組的個數。

用乙個類似單調佇列的東西去維護,因為

| 運算滿足單調性,所以可以這麼做。

#include 

#define rep( i , l , r ) for( int i = (l) ; i <= (r) ; ++i )

#define per( i , r , l ) for( int i = (r) ; i >= (l) ; --i )

#define erep( i , u ) for( int i = head[(u)] ; ~i ; i = e[i].nxt )

using namespace std;

void fileinout()

inline int _read()

while( isdigit(ch) )

return

x * f;

}const int maxn = 1000000 + 5;

int a[maxn] , q[50] ;

int main()

int res = 0;

rep( i , 0 , 31 ) res |= (bool)(q[i]) << i;

for( ; r < n && (res | a[r + 1]) < m ; )

ans += (long long)(r - f);

rep( i , 0 , 31 ) q[i] -= (a[f] >> i & 1);

}cout << ans << endl;

return

0;}

給你兩種型別的物品,一種可拆分,一種不可以拆分,每個物品都有重量和總價值,問你給你w的揹包,最大價值為多少。

因為可拆分的顯然可以用貪心的思路,不可拆分的則用01揹包,最後合併一下就可以了。

#include 

#define rep( i , l , r ) for( int i = (l) ; i <= (r) ; ++i )

#define per( i , r , l ) for( int i = (r) ; i >= (l) ; --i )

#define erep( i , u ) for( int i = head[(u)] ; ~i ; i = e[i].nxt )

using

namespace

std;

void fileinout()

const

int maxn = 100 + 5 , maxw = 50000 + 5;

int f[maxw];

double g[maxw];

struct node a[maxn];

struct _node b[maxn];

inline

bool cmp( const node &t1 , const node &t2 )

int main()

rep( i , 1 , l2 )

per( j , w , b[i].w )

f[j] = max( f[j] , f[j - b[i].w] + b[i].v );

sort( a + 1 , a + l1 + 1 , cmp );

double res = 0;

int j , cnt;

for( j = 1 , cnt = 1 ; j <= w && cnt <= l1 ; cnt++ )

for( ; j <= w ; ++j ) g[j] = g[j - 1];

double ans = 0;

rep( i , 0 , w )

ans = max( ans , g[i] + (double)f[w - i] );

printf("%.2lf\n" , ans);

return

0;}

2017 4 14校內訓練

hzwer拿了幾道noi中比較簡單的給我們做 a.noi2009 植物大戰殭屍 思路 考慮最小割,如果乙個植物的權值x是正的,我們先預設吃掉它,使答案加上x並讓s向這個點連x,割這條邊相當於不吃這個植物,否則讓這個點向t連 x,割這條邊相當於吃這個植物,每個植物讓它能攻擊到的格仔和它的前一格向它連i...

2017 4 7校內訓練

喪病hzwer的ctsc訓練賽 my ac 3 4 a.ctsc2014 企鵝qq 思路 亂hash,我比較菜,寫的醜 各種wa tle,好久才a掉。include include using namespace std define ll long long define mn 200 defin...

9 10校內訓練

這次的校內訓練有4題,難度適中,成績也不錯.令人詫異的是這次的四題居然都是原題.儘管如此,我還是有比較多的失誤.第一題原題在洛谷1360,題意大致是給出n個01串 不超過m位,壓成整數 求這些串中最長的子串滿足對於每一位,這個字串每個元素這位是1的個數的和相同.比如 1110010 1001 111...