Gravatar
FoolMike
积分:5198
提交:1168 / 2244
回复 @Marvolo :
卡常数是OI的一环,经过WC2017的洗礼之后深刻的体会到了这一点。省选被卡常难道不算吗?况且这个题我开的是2.5倍用时,没什么问题吧……
本题有一个合理的优化,就是在匈牙利的时候动态清空而不是memset,这一点的应用在09年NOI中考察过。虽然现在memset可以卡过,但是那时候应该会TLE吧……这个优化还是非常有效的嘛。

题目 2620 [HEOI 2012]朋友圈
2017-02-25 23:08:31
Gravatar
+1s
积分:567
提交:285 / 1051
均衡队列的代码复制一下略加修改就能拿70分。。

题目 1743 忠诚
2017-02-25 23:04:51
Gravatar
+1s
积分:567
提交:285 / 1051
这个题目到底是要问下标还是数值啊啊啊啊啊啊啊啊

题目 1743 忠诚 AAAAAAAWWW
2017-02-25 23:03:48
Gravatar
FoolMike
积分:5198
提交:1168 / 2244
解平方根。
我们考虑一下这个递推式子:
设sqrt(m)+sqrt(m-1)为上一次的答案,那么更新一次以后答案变成了sqrt(3*m-1+2*sqrt(2*m*(m-1)))+sqrt(3*m-1+2*sqrt(2*m*(m-1)))
我们设x=m,y=sqrt(m*(m-1)),那么转移方程为x'=3*x+2*sqrt(2)*y-1,y'=2*sqrt(2)*x+3*y-sqrt(2)
这样的话我们递推就好了.
在模1e9+7下,sqrt(2)=59713600

题目 2512 拆分游戏 AAAAAAAAAA
2017-02-25 23:01:50
Gravatar
Marvolo
积分:1850
提交:448 / 964
原题时限20S,虽然数据比较弱,但是放题人非要将时限卡的刚刚能让自己一个数量级的程序通过。没有考虑到实际的题目要求。强烈谴责这种不齿行为!

题目 2620 [HEOI 2012]朋友圈
2017-02-25 21:13:43
Gravatar
FoolMike
积分:5198
提交:1168 / 2244
好题!

Gravatar
祖国栋梁
积分:496
提交:142 / 472
先膜一发

Gravatar
祖国栋梁
积分:496
提交:142 / 472
交错文件真是一件非常尴尬的事情 尤其是还交错了这么多次quq

Gravatar
rvalue
积分:715
提交:213 / 573
回复 @农场主 :
显然不是生成器放进去了233333标准文件和评测插件含有很多验证机制

Gravatar
confoo
积分:898
提交:221 / 728
膜mike

Gravatar
sxysxy
积分:2477
提交:603 / 1120
神题留名

Gravatar
confoo
积分:898
提交:221 / 728
看上去是把数据生成器放进去混淆了一下啊……

Gravatar
_Itachi
积分:4318
提交:1498 / 3922
这是填空题吗?

Gravatar
Vergil
积分:428
提交:74 / 262
数据好像有点问题,第4组里有一个ASK自己和自己,显然是Y,但.ans里面是全是No

Gravatar
YGOI_真神名曰驴蛋蛋
积分:1982
提交:671 / 1901
数据有问题请找驴蛋蛋
样例有问题请找Knuth
题面有问题请找Keller
题解戳来源

Gravatar
Herian
积分:590
提交:119 / 361
k>=0 不是>=1

Gravatar
xzz_233
积分:353
提交:92 / 288
回复楼上,确实可以

Gravatar
hee
积分:635
提交:137 / 414
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
#include<queue>
#include<ctime>
#include<cmath>
#include<map>
#include<set>
#define MAXX 501
using namespace std;
int n,k,d,ans,f[MAXX][16*16*16*16+1],len[MAXX],p[MAXX][16];
void init(){
scanf("%d%d%d",&n,&d,&k);
for(int i=1;i<=n;++i){
scanf("%d",&len[i]);
for(int j=1;j<=len[i];++j)scanf("%d",&p[i][j]);
}
}
bool check(int j){
int num=0;
while(j){
num+=(j&1);
j>>=1;
}
if(num>k)return 0;
return 1;
}
void findanswer(){
for(int i=1;i<=n;++i){
for(int j=0;j<=(1<<d);++j){
if(!check(j))continue;
int jj=j;
for(int h=1;h<=len[i];++h)jj=jj|(1<<(p[i][h]-1));
if(check(jj))f[i][jj]=max(f[i-1][jj],f[i-1][j]+1);//挤或不挤
f[i][j]=max(f[i][j],f[i-1][j]);
ans=max(ans,max(f[i][j],f[i][jj]));
}
}
printf("%d",ans);
return;
}
int main(){
freopen("disease.in","r",stdin);
freopen("disease.out","w",stdout);
init();
findanswer();
return 0;
}

Gravatar
Rapiz
积分:1624
提交:386 / 700
我也不知道为啥我跑的最快

Gravatar
沉迷学习的假的Keller
积分:1625
提交:464 / 692
这题提交一次能卡cogs评测姬将近1分钟呢~