前言
做A组被虐好惨
成绩
Rank是有算别人的
Rank |
Person |
Score |
A |
B |
C |
2 |
巨佬WHF |
140 |
40 |
100 |
0 |
2 |
巨佬ZZY |
140 |
40 |
100 |
0 |
5 |
巨佬HJW |
100 |
100 |
0 |
0 |
14 |
蒟蒻WYC |
60 |
40 |
20 |
0 |
20 |
初二ZYC |
40 |
40 |
0 |
0 |
20 |
初二XJQ |
40 |
40 |
0 |
0 |
25 |
巨佬TRX |
20 |
0 |
20 |
0 |
25 |
初二LW |
20 |
0 |
20 |
0 |
33 |
初二XXY |
10 |
0 |
10 |
0 |
34 |
初二HZB |
0 |
0 |
0 |
0 |
34 |
巨佬QYH |
0 |
0 |
0 |
0 |
34 |
初二LRZ |
0 |
0 |
0 |
0 |
正题
T1:jzoj3169−[GDOI2013模拟
4]生产汽车【斜率优化
dp,单调队列
,二分】
链接:
https://blog.csdn.net/Mr_wuyongcong/article/details/89281824
T2:jzoj3170−[GDOI2013模拟
4]挑选玩具【容斥
,状态压缩
,分治】
链接:
https://blog.csdn.net/Mr_wuyongcong/article/details/89282043
T3:jzoj3171−[GDOI2013模拟
4]重心【真
⋅物理
,二分】
链接:
https://blog.csdn.net/Mr_wuyongcong/article/details/89282845
some of code
T1 40points code
#include<cstdio>
#include<algorithm>
#include<cstdio>
#define ll long long
using namespace std;
const ll N=110000;
ll n,m,t[N],f[N],over[N];
int main()
{
scanf("%lld%lld",&n,&m);
for(ll i=1;i<=n;i++)
scanf("%lld",&t[i]);
for(ll j=1;j<=m;j++)
scanf("%lld",&f[j]);
for(ll i=1;i<=m;i++){
ll s=0,begin=0;
for(ll j=1;j<=n;j++){
s+=t[j-1]*f[i];
begin=max(begin,over[j]-s);
}
for(ll j=1;j<=n;j++){
begin+=t[j]*f[i];
over[j]=begin;
}
}
printf("%lld",over[n]);
}
T2 20points code
#include<cstdio>
#include<algorithm>
#include<cstring>
#define ll long long
using namespace std;
const ll N=110,M=2048,XJQ=1000000007;
ll n,m,a[N],f[2][M],MS;
int main()
{
scanf("%lld%lld",&n,&m);
for(ll i=1;i<=n;i++)
{
ll k;scanf("%lld",&k);
while(k--){
ll x;
scanf("%lld",&x);
a[i]|=(1<<x-1);
}
}
MS=1<<m;f[0][0]=1;
for(ll i=1;i<=n;i++)
{
memset(f[i&1],0,sizeof(f[i&1]));
for (ll j=0;j<MS;j++)
{
ll k=j|a[i];
(f[i&1][k]+=f[~i&1][j])%=XJQ;
(f[i&1][j]+=f[~i&1][j])%=XJQ;
}
}
printf("%lld",f[n&1][MS-1]);
}
总结
看题预估分
40+50+0=90???
做题预估分
40+50+0=90
实际分数
40+20+0=60
T1开始不会,后来也不会,然后写暴力
T2开始不会,后来依旧不会,然后写暴力结果只有
20???
T3日常看不懂
尾声
%%%%%%%%%%%%%%%%%%HJW
%%%%%%%%%%%%%%%%%%ZZY
%%%%%%%%%%%%%%%%%%WHF
%%%%%%%%%%%%%%%%%%LZH233