【Codeforces】Gym 101156G Non-Attacking Queens 打表
题意
求$n\times n$的棋盘上放$3$个皇后使得互相不攻击的方案数
拓展是$m\times n$棋盘上放$k$皇后,暴力打表找到了公式
代码
import java.math.BigInteger;
import java.util.Scanner;
/**
* Created by cyuun on 2018/1/24.
*/
public class Main {
public static void main(String[] args) {
BigInteger n,ans;
Scanner cin = new Scanner(System.in);
n=cin.nextBigInteger();
if(n.mod(BigInteger.valueOf(2)).compareTo(BigInteger.valueOf(1))==0) {
//(n - 1)(n - 3)(2n^4 - 12n^3 + 25n^2 - 14n + 1)/12
ans=n.subtract(BigInteger.valueOf(1));
ans=ans.multiply(n.subtract(BigInteger.valueOf(3)));
BigInteger part1=n.multiply(n).multiply(n).multiply(n).multiply(BigInteger.valueOf(2));
BigInteger part2=n.multiply(n).multiply(n).multiply(BigInteger.valueOf(12));
BigInteger part3=n.multiply(n).multiply(BigInteger.valueOf(25));
BigInteger part4=n.multiply(BigInteger.valueOf(14));
ans=ans.multiply(part1.subtract(part2).add(part3).subtract(part4).add(BigInteger.valueOf(1)));
ans=ans.divide(BigInteger.valueOf(12));
}else {
//n(n - 2)^2(2n^3 - 12n^2 + 23n - 10)/12
ans=n;
ans=ans.multiply(n.subtract(BigInteger.valueOf(2))).multiply(n.subtract(BigInteger.valueOf(2)));
BigInteger part1=n.multiply(n).multiply(n).multiply(BigInteger.valueOf(2));
BigInteger part2=n.multiply(n).multiply(BigInteger.valueOf(12));
BigInteger part3=n.multiply(BigInteger.valueOf(23));
ans=ans.multiply(part1.subtract(part2).add(part3).subtract(BigInteger.valueOf(10)));
ans=ans.divide(BigInteger.valueOf(12));
}
System.out.println(ans);
}
}
【Codeforces】Gym 101156G Non-Attacking Queens 打表的更多相关文章
- Codeforces Gym 101252D&&floyd判圈算法学习笔记
一句话题意:x0=1,xi+1=(Axi+xi%B)%C,如果x序列中存在最早的两个相同的元素,输出第二次出现的位置,若在2e7内无解则输出-1. 题解:都不到100天就AFO了才来学这floyd判圈 ...
- Codeforces Gym 101190M Mole Tunnels - 费用流
题目传送门 传送门 题目大意 $m$只鼹鼠有$n$个巢穴,$n - 1$条长度为$1$的通道将它们连通且第$i(i > 1)$个巢穴与第$\left\lfloor \frac{i}{2}\rig ...
- Codeforces Gym 101623A - 动态规划
题目传送门 传送门 题目大意 给定一个长度为$n$的序列,要求划分成最少的段数,然后将这些段排序使得新序列单调不减. 考虑将相邻的相等的数缩成一个数. 假设没有分成了$n$段,考虑最少能够减少多少划分 ...
- 【Codeforces Gym 100725K】Key Insertion
Codeforces Gym 100725K 题意:给定一个初始全0的序列,然后给\(n\)个查询,每一次调用\(Insert(L_i,i)\),其中\(Insert(L,K)\)表示在第L位插入K, ...
- Codeforces gym 101343 J.Husam and the Broken Present 2【状压dp】
2017 JUST Programming Contest 2.0 题目链接:Codeforces gym 101343 J.Husam and the Broken Present 2 J. Hu ...
- codeforces gym 100553I
codeforces gym 100553I solution 令a[i]表示位置i的船的编号 研究可以发现,应是从中间开始,往两边跳.... 于是就是一个点往两边的最长下降子序列之和减一 魔改树状数 ...
- CodeForces Gym 100213F Counterfeit Money
CodeForces Gym题目页面传送门 有\(1\)个\(n1\times m1\)的字符矩阵\(a\)和\(1\)个\(n2\times m2\)的字符矩阵\(b\),求\(a,b\)的最大公共 ...
- Codeforces GYM 100876 J - Buying roads 题解
Codeforces GYM 100876 J - Buying roads 题解 才不是因为有了图床来测试一下呢,哼( 题意 给你\(N\)个点,\(M\)条带权边的无向图,选出\(K\)条边,使得 ...
- Codeforces GYM 100114 C. Sequence 打表
C. Sequence Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Description ...
随机推荐
- 【DB2】DB2使用IMPORT命令导入含有自增长列的表报错处理
1.启动数据库:db2start 2.创建数据库:create db TestDB using codeset gbk territory CN collate using identity 3.连 ...
- 【Python】字典~深入篇
字典的定义 字典是一系列键值对,字典用放在{}一系列键值对表示 info = {','city':'KunMing'} 字典增.删.改.查 增加新元素 指定字典名,用方括号括起来的键和相关的值 inf ...
- js:|| 和 && 运算符 特殊用法
引用:http://www.jb51.net/article/21339.htm 先总结一下: 几乎所有语言中||和&&都遵循“短路”原理,如&&中第一个表达式为假就不 ...
- Hbase Basic
启动:start-hbase.sh 停止:stop-hbase.sh 进入shell:hbase shell 状态:status 创建表:create 'tableName', 'colFam1' 查 ...
- 思维探索者:完善个人知识体系的重要性 Google只会告诉你结果
http://www.nowamagic.net/librarys/veda/detail/1711前面说了,人类解决问题大部分时候会习惯性地使用联想思维,简言之就是首先枚举你关于这个问题能够想到的所 ...
- python 中给文件加锁——fcntl模块
如果没有fcntl模块则用 sudo pip install fcntl安装 模块简单说明: 打开文件,不存在则创建之 f = open('./test','w') fcntl.flock(f,fcn ...
- HDU 4930 Fighting the Landlords(扯淡模拟题)
Fighting the Landlords 大意: 斗地主... . 分别给出两把手牌,肯定都合法.每张牌大小顺序是Y (i.e. colored Joker) > X (i.e. Black ...
- 某个时间段关闭API
def bet(): if 000000 < int(time.strftime("%H%M%S", time.localtime())) < 90000: print ...
- request 解决中文乱码问题
package request; import java.io.IOException;import javax.servlet.ServletException;import javax.servl ...
- SpringBoot定时任务升级篇(动态添加修改删除定时任务)
需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...