洛谷 P1350 车的放置    

题目描述

有下面这样的一个网格棋盘,a,b,c,d表示了对应边长度,也就是对应格子数。

当a=b=c=d=2时,对应下面这样一个棋盘

要在这个棋盘上放K个相互不攻击的车,也就是这K个车没有两个车在同一行,也没有两个车在同一列,问有多少种方案。同样只需要输出答案mod 100003后的结果。

输入输出格式

输入格式:

输入文件place.in的第1行为有5个非负整数a, b, c, d和k。

输出格式:

输出文件place.out包括1个正整数,为答案mod 100003后的结果。

输入输出样例

输入样例#1: 

2 2 2 2 2
输出样例#1: 

38

说明

【数据规模与约定】

对于部分数据,有b = 0;

对于部分数据,有a,b,c,d≤4。

对于100%的数据,a,b,c,d,k≤1000,且保证了至少有一种可行方案。

题解:

f[j][i]=(f[j-1][i]+f[j-1][i-1]*(v[j]-i+1))%MOD;

因为题目里提到最终数据要模去100003

所以定义MOD为100003了。

以下代码

 #include<cstdio>
const int N=;
const int MOD=;
int f[N][N],v[N];
int x,y,z,k,m,ans;
inline int read() {
char c=getchar();
int f=,x=;
while(c<''||c>'') {
if(c=='-') f=-;
c=getchar();
}
while(c>=''&&c<='')
x=x*+c-,c=getchar();
return x*f;
}
void print (int x) {
if(x<) {
putchar('-');
x=-x;
}
if(x>) {
print(x/);
}
putchar(x%+'');
}
int main() {
// x=y=z=k=m=read();
scanf("%d%d%d%d%d",&x,&y,&z,&k,&m);
for(int i=; i<=z; i++) v[i]=k,f[i][]=;
for(int i=; i<=x; i++) v[z+i]=k+y,f[z+i][]=;
f[][]=;
for(int j=; j<=x+z; j++)
for(int i=; i<=m; i++)
f[j][i]=(f[j-][i]+f[j-][i-]*(v[j]-i+))%MOD;
ans=f[x+z][m];
// print(ans);
printf("%d",ans);
return ;
}

AC

不知道为什么,加了读入优化和输出优化,虽然过样例是没问题的,但是在提交的时候不是re就是wa。

然后我把读入输出优化去掉,还故意把数组弄小了,都比之前数组开大了得分高!

所以肯定是优化的原因啊!

一世安宁

洛谷 P1350 车的放置的更多相关文章

  1. 【题解】洛谷P1350 车的放置(矩阵公式推导)

    洛谷P1350:https://www.luogu.org/problemnew/show/P1350 思路 把矩阵分为上下两块N与M 放在N中的有i辆车 则放在M中有k-i辆车 N的长为a   宽为 ...

  2. P1350 车的放置

    P1350 车的放置 设$f[i][j]$为当前推到第$i$列,该列高度$h$,已经放了$j$个车的方案数 则$f[i][j]=f[i-1][j]+f[i-1][j-1]*(h-j+1)$ 但是我们发 ...

  3. 洛谷——P3913 车的攻击

    P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi​行,第C_iCi​ 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...

  4. 洛谷 P3913 车的攻击

    P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi​行,第C_iCi​ 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...

  5. 集训作业 洛谷P3913 车的攻击

    这个题一开始被我想复杂了,但总体差不多. 脑子清醒后我直接看他占领了几条长,几条宽,比如一个长3宽3的地图. 被占领了一条宽,就可以看成一个长3宽2的地图.这个长3宽2的地图就是出去可以被攻击的点剩下 ...

  6. 洛谷P1189 逃跑的拉尔夫(SEARCH)

    洛谷1189 SEARCH 题目描述 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的 ...

  7. 洛谷1377 M国王 (SCOI2005互不侵犯King)

    洛谷1377 M国王 (SCOI2005互不侵犯King) 本题地址:http://www.luogu.org/problem/show?pid=1377 题目描述 天天都是n皇后,多么无聊啊.我们来 ...

  8. 洛谷2583 地铁间谍 (UVa1025A Spy in the Metro)

    洛谷2583 地铁间谍(UVa1025A Spy in the Metro) 本题地址:http://www.luogu.org/problem/show?pid=2583 题目描述 特工玛利亚被送到 ...

  9. 【洛谷P1352】没有上司的舞会

    [洛谷P1352]没有上司的舞会 x舷售 锚」翅θ 但是 拙臃 蓄ⅶ榔 暄条熨卫 翘ヴ馇 表现无愧于雪月工作室的核心管理 爸惚扎掬 颇瓶 芟缆肝 貌痉了 洵┭笫装 嗝◇裴腋 褓劂埭 ...

随机推荐

  1. C# 调用WebService服务

    方 法 一 :  选择项目,右键添加服务引用,输入服务地址,如图: 点击确定跳转到如下界面: 调用 接口: ServiceReference1.ImportDataServiceClient sr = ...

  2. 转:.net设计模式之单例模式

    原文地址:http://terrylee.cnblogs.com/archive/2005/12/09/293509.html 概述 Singleton模式要求一个类有且仅有一个实例,并且提供了一个全 ...

  3. iOS设计模式 - 模板

    iOS设计模式 - 模板 原理图 说明 定义一个操作中的算法的骨架,而将步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤. 源码 https://github.c ...

  4. [UI] 精美UI界面欣赏[4]

    精美UI界面欣赏[4]

  5. 使用CoreData [1]

    使用CoreData [1] 本篇教程能教你从无开始接触CoreData,包括新建工程,创建出实体,增删改查样样都有,属于使用CoreData最初级教程. 1. 创建带有CoreData的工程项目 2 ...

  6. Java问题汇总(一) ----------2019/2/22

    第一次写,就弄弄简单样式

  7. 《面向对象程序设计》 三 Calculator 计算器初步

    Git传送门 纸上得来终觉浅,绝知此事要躬行. 学习了一些c++的相应知识后,虽然了解写法,真正操作时还是出现小错误.要多操作,记住关键点,避免不该有的小错误. 写分文件类外定义时出现了问题.在Sca ...

  8. 学习python第五天进制转换

    6.进制之间的转换(重要) 二进制:满二进一 范围:0.1符号:0b例如:0b10...[注意]计算机只能识别二进制数据 八进制:满八进一 范围:0~7符号:0o例如:0o66 十进制:满十进一 范围 ...

  9. 配置网卡绑卡 --RHEL7

    配置网卡绑卡 1)网卡绑定(team方式) # 创建组接口nmcli connection add type team ifname team0 con-name team0 config '{&qu ...

  10. smooth l1

    1.loss要规范化,这样就不会受图片大小的影响 2.w.h采用log:比较特殊的是w,hw,h的regression targets使用了log space. 师兄指点说这是为了降低w,hw,h产生 ...