今天马神【【越来越帅了有木有】】
然后noip的题。
写了 很多 的第一道。。挨个打卡吧!
noip 2011
T1 没啥,会编程系列。就是从后往前扫。
T2 选举客栈 感觉这个枚举的还是很巧妙的。。不然会tle。。。代码能力还真是 差到吐血。。必须 自己写 ! 不许看题解!!!!
然后 读入优化挺有用的。
再然后 贴个代码
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,k,p;
int c[200005],w[200005];
int pre[200005];
int sum[2000005];
int read()
{
char p=getchar();
int x=0;
while(p<'0' || p>'9') p=getchar();
while(p>='0' && p<='9') x=x*10+p-'0',p=getchar();
return x;
}
int main()
{
int ans=0;
n=read();k=read();p=read();
for(int i=1;i<=n;i++)
{
c[i]=read();
w[i]=read();
if(w[i]<=p) pre[i]=i;
else pre[i]=pre[i-1];
}
for(int ii=0;ii<k;ii++)
{
for(int i=1;i<=n;i++)
{
sum[i]=(c[i] == ii);
}
for(int i=2;i<=n;i++)
{
sum[i]+=sum[i-1];
}
for(int i=1;i<=n;i++)
{
if(c[i] == ii)
{
if(pre[i] == i) ans+=sum[i]-1;
else ans+=sum[pre[i]];
}
}
}
printf("%d\n",ans);
}
T3 没错那个神一般的思索 然后 先欠着吧。。。 实在是 搜索不大会写。
T4 计算系数
因为n,m打反了。所以40
因为 快速幂的时候哦没有mod 所以80。。
据说 mod运算 在每一步不是 出的运算中都要用一下,可是为什么呢?
敢不敢提高一点正确率!
#include<cstdio>
#include<algorithm>
#include<cstring>
#define ll long long
#define mod 10007
//by mars_ch
using namespace std;
int a,b,k,n,m;
ll f[1005][1005];
int read()
{
char p=getchar();
int x=0;
while(p<'0' || p>'9') p=getchar();
while(p>='0' && p<='9') x=x*10+p-'0',p=getchar();
return x;
}
int mi(int x,int y)
{
int res=1;
x=x%mod;
while(y>0)
{
if(y%2 == 1) res=(res*x)%mod;
x=(x*x)%mod;
y/=2;
}
return res;
}
int main()
{
a=read();b=read();k=read();n=read();m=read();
f[1][1]=1;
f[1][2]=1;
for(int i=1;i<=k;i++)
{
f[i][1]=1;
f[i][i+1]=1;
}
for(int i=2;i<=k;i++)
{
for(int j=2;j<=i+1;j++)
{
f[i][j]=(f[i-1][j-1]+f[i-1][j])%mod;
}
}
int ans=1;
ans=((mi(a,n)*mi(b,m))%mod*f[k][m+1])%mod;
printf("%d\n",ans);
return 0;
}
T5
聪明的质检员
感觉这题是考二分的。
中间那个公式 就是 维护一个 前缀和和个数 求一下呗
T6 明天好不好~~~