期望得分: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. c# webBrowser清除缓存问题

    1.webBrowser的浏览器为ie. 2.通过清除ie缓存即可. 3.代码调用如下: public enum ShowCommands : int { SW_HIDE = , SW_SHOWNOR ...

  2. 每日scrum--No.1

    Yesterday:无 Today: 查找学校的官方地图和亲自测试其准确性 Problem :不能使地图适应我们的软件;未解决地图上存在的问题: 明天继续加油.

  3. 一个整数N中的1的个数

    设计思想: 通过大量数据分解找规律 abcd 从d开始若d=0则count(1的个数)=左边的abc *d的位值(1.10.100..) 若等欲1则count=左边的abc*d的位值(1.10.100 ...

  4. 2018软工实践—Alpha冲刺(9)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 多次测试软件运行 学习OPENMP ...

  5. vsftpd:非常安全的ftp服务端程序

    主程序:/usr/sbin/vsftpd 主配置文件:/etc/vsftpd/vsftpd.conf CentOS 6  /etc/rc.d/init.d/vsftpd chkconfig vsftp ...

  6. ONS发布订阅消息

    ONS, 全名Open Notification Service, 是阿里基于开源消息中间件RocketMQ的一个云产品. 首先,要申请阿里账号等.本地也可以申请阿里云账号自己调试.此处为公司拥有阿里 ...

  7. 第196天:js---调用函数的五种方式

    一.普通方式 /*普通模式*/ // 声明一个函数,并调用 function func() { console.log("Hello World"); } func(); 二.函数 ...

  8. 第115天:Ajax 中artTemplate模板引擎(一)

    一.不分离与分离的比较 1.前后端不分离,以freemarker模板引擎为例,看一下不分离的前后端请求的流程是什么样的? 从上图可以看出,前后端开发人员的工作耦合主要在(3)Template的使用.后 ...

  9. MachineLearning ---- lesson 1

    该博文系列是Andrew NG教授的课程笔记,有兴趣的朋友可以在Coursera或者网易公开课上找到该课程. Supervised Learning 下图是一个监督学习回归分析的例子.该图旨在预测房价 ...

  10. BZOJ4925 城市规划

    对每个人行道求出移动距离在哪些区间内时其在建筑物前面.现在问题即为选一个点使得其被最多的区间包含.差分即可.对建筑暴力去掉重叠部分.开始时没有去重用了nm次vector的push_back,时间大概是 ...