一道類似模擬的題,就根據所寫的東西來做就可以了。
#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...