期望得分:0+100+100=200

实际得分:0+100+100=200

T1 [Ahoi2009]fly 飞行棋

http://www.lydsy.com/JudgeOnline/problem.php?id=1800

利用矩形对角线相等,所以n^2枚举可以凑成对角线的点

假设有k对

ans=C(k,2)=k*(k-1)/2

#include<cstdio>
using namespace std;
const int maxn = ;
int N, w[maxn];
int main()
{
scanf("%d", &N);
w[] = ;
for(int i = ; i <= N; i++)
{
scanf("%d", w + i);
w[i] += w[i - ];
}
if(w[N] & )
{
puts(""); return ;
}
int ans = ;
for(int i = ; i <= N; i++)
for(int j = i + ; j <= N; j++)
if(w[j] - w[i] == (w[N] >> )) ans++;
printf("%d", ans * (ans - ) >> );
return ;
}

T2 炮

在一个 n*m 的棋盘上,炮可随意放,问有多少种放置方案

f[i][j][k] 前i行,有j列放了1个,有k列放了2个

分类讨论

#include<cstdio>
#define mod 999983
#ifdef WIN32
#define ll "%I64d"
#else
#define ll "%lld"
#endif
using namespace std;
int n,m;
long long f[][][];
int main()
{
freopen("cannon.in","r",stdin);
freopen("cannon.out","w",stdout);
scanf("%d%d",&n,&m);
f[][][]=;
for(int i=;i<=n;i++)//hang
for(int j=;j<=m;j++)//you j lie fang le 1 ge
for(int k=;j+k<=m;k++)//you k lie fang le 2 ge
{
f[i][j][k]=f[i-][j][k];//bufang
if(j>=) f[i][j][k]=(f[i][j][k]+f[i-][j-][k]*(m-j-k+))%mod;//kong lie fang 1 ge
if(k>=) f[i][j][k]=(f[i][j][k]+f[i-][j+][k-]*(j+))%mod;//you 1 ge de lie chu fang 1 ge
if(j>=) f[i][j][k]=(f[i][j][k]+f[i-][j-][k]*((m-j-k+)*(m-j-k+)/))%mod;//kong lie fang 2 ge
if(k>=) f[i][j][k]=(f[i][j][k]+f[i-][j][k-]*(m-j-k+)*j)%mod;//kong 1 lie ge fang 1 ge
if(k>=) f[i][j][k]=(f[i][j][k]+f[i-][j+][k-]*((j+)*(j+)/))%mod;//you 1 ge de lie chu fang 2 chu
}
long long ans=;
for(int j=;j<=m;j++)
for(int k=;j+k<=m;k++)
ans=(ans+f[n][j][k])%mod;
printf(ll,ans);
}

T3 [Ioi2007]Miners 矿工配餐

#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 100001
using namespace std;
long long dp[][][][][];
char s[N];
bool v[];
int y[],df[];
int main()
{
int n;
scanf("%d%s",&n,s);
y['M'-'A']=;
y['B'-'A']=;
y['F'-'A']=;
int st;
for(int i=;i<;i++)
for(int j=;j<;j++)
for(int k=;k<;k++)
{
v[i]=v[j]=v[k]=true;
st=(i<<)+(j<<)+k;
for(int l=;l<;l++) df[st]+=v[l];
v[i]=v[j]=v[k]=false;
}
int t;
t=y[s[]-'A'];
memset(dp[],-,sizeof(dp[]));
dp[][t][][][]=;
dp[][][][t][]=;
int now=,nxt=;
for(int h=;h<n;h++,swap(now,nxt))
{
memset(dp[nxt],-,sizeof(dp[nxt]));
for(int i=;i<;i++)
for(int j=;j<;j++)
for(int k=;k<;k++)
for(int l=;l<;l++)
{
if(dp[now][i][j][k][l]<) continue;
else
{
t=y[s[h]-'A'];
dp[nxt][t][i][k][l]=max(dp[nxt][t][i][k][l],dp[now][i][j][k][l]+df[(t<<)+(i<<)+j]);
dp[nxt][i][j][t][k]=max(dp[nxt][i][j][t][k],dp[now][i][j][k][l]+df[(t<<)+(k<<)+l]);
}
}
}
long long ans=;
for(int i=;i<;i++)
for(int j=;j<;j++)
for(int k=;k<;k++)
for(int l=;l<;l++)
ans=max(ans,dp[now][i][j][k][l]);
printf("%lld",ans);
}

NOIP模拟赛14的更多相关文章

  1. noip模拟赛#14

    #14: T1:f[x]=x-1(x&1)||x/2(x&1=0) 求[n,m]有多少个数可以通过变换得到k.(1e9). =>好像cf上看过类似的题,用二进制的方式来写.不过我 ...

  2. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  3. 2017-9-22 NOIP模拟赛[xxy][数论]

    XXY 的 的 NOIP 模拟赛 4 4 —— 数学专场 A Description定义 f(x)表示 x 的约数和,例:f(12)=1+2+3+4+6+12=28给出 x,y,求Σf(i),i∈[x ...

  4. 2014-10-31 NOIP模拟赛

        10.30 NOIp  模拟赛   时间 空间 测试点 评测方式 挖掘机(dig.*) 1s 256M 10 传统 黑红树(brtree.*) 2s 256M 10 传统 藏宝图(treas. ...

  5. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  6. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  7. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  8. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  9. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

随机推荐

  1. 基于spec探路者团队贪吃蛇作品的评论

    1 运动功能 由以上两图贪吃蛇的位置不同可知,运动功能实现.并且我能够通过使用键盘上的上下左右方位键控制蛇的移动方向,蛇在控制的方向上进行直线前进. 2 吃食物功能 以上两图可知吃食物功能实现.当界面 ...

  2. action访问servlet的API并且获取到MAP或者httpServlet类型的application,session,request

    public class testAction3 extends ActionSupport { private Map<String,Object> request; private M ...

  3. Linux 安装php扩展 swoole

    swoole是一个PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncT ...

  4. Xcode 6添加模板无效

    最近发现从Xcode 5拷贝来的模板在Xcode 6上是OK的,但是自己自定义的却不行,一直使用的是自定义的基类模板,最后发现原因是没有在 TemplateInfo.plist 中注册自定义的模板,注 ...

  5. 安装Ubuntu 16.04双系统详解(Nvidia显卡)

    Ubuntu16.04双系统安装 一.准备工作 设备:惠普台式机,i5-7400.8G内存.1T机械硬盘.NVIDIA GTX1050显卡.预装系统:Win10. 1.下载ubuntu镜像文件,本人使 ...

  6. lintcode-424-逆波兰表达式求值

    424-逆波兰表达式求值 求逆波兰表达式的值. 在逆波兰表达法中,其有效的运算符号包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰计数表达. 样例 ["2" ...

  7. iOS- 如何建立索引实现本地文本搜索引擎,允许容错搜索?

    1.前言 实现一个本地搜索引擎,允许容错搜索,也就是搜索结果不需要和搜索的关键字完全精准匹配.比如,搜索”eric wang“,搜索结果可以包括Erica Watts等等.搜索效率十分高. 这里我们需 ...

  8. 安恒杯-babysql

    1. 库名 ?id= and extractvalue(,(select group_concat(0x3a,schema_name) from information_schema.schemata ...

  9. 解决java图形界面label中文乱码

    第一:在你的具有main函数的类也即你应用运行的主类上点击右键,选择Run As中的Run Configurations,如下图:java,awt,中文方框,中文乱码第二,在Arguments标签下的 ...

  10. POJ2823_Sliding Window

    以前也碰到过这种类型的题目,以前好像做出来过,但是忘记了,这次又坑了. 题目很简单,对于从前到后每一个连续的长度为k的数字,求出这段数字中的最大的数字和最小的数字. 一开始我用离散化+树状数组来更新和 ...