首页 > 其他分享 >UVA11538 Chess Queen

UVA11538 Chess Queen

时间:2023-01-18 17:57:24浏览次数:45  
标签:frac nm int 斜线 Queen UVA11538 cdots Chess 2n

简要题意

给你一个 \(n\times m\) 的棋盘,你需要在棋盘上放置两个颜色不同的皇后,使得它们互相攻击。求方案数。

\(1 \leq n,m \leq 10^6\)

思路

下面假设 \(n\leq m\)。

首先发现,两个互相攻击的皇后大致有下面三种情况:

  • 在同一行,方案数为 \(\binom{n}{1}\operatorname{A}^{2}_{m}=nm(m-1)\)。
  • 在同一列,方案数为 \(\binom{m}{1}\operatorname{A}^{2}_{n}=nm(n-1)\)。
  • 在同一个斜线上,这个比较复杂:

设所在的斜线的长度为 \(S\),则方案数为 \(2A^{2}_{S}=2S(S-1)\)(因为斜线方向有两种)。

斜线长度一共有:

\[1,2,\cdots,n-2,n-1,\underbrace{n,n,\cdots,n,n}_{m-n+1},n-1,n-2,\cdots,2,1 \]

所以同一个斜线的方案数就是:

\[\begin{aligned} &2(n(n-1)(m-n+1)+2\sum_{i=1}^{n-1}{i(i-1)})\\ &=2(n(n-1)(m-n+1)+2(\sum_{i=1}^{n-1}i^2-\sum_{i=1}^{n-1}i))\\ &=2(n(n-1)(m-n+1)+2(\frac{n(n-1)(2n-1)}{6}-\frac{n(n-1)}{2}))\\ &=2(n(n-1)(m-n+1)+2(\frac{n(n-1)(2n-4)}{6}))\\ &=2(n(n-1)(m-n+1)+\frac{n(n-1)(2n-4)}{3})\\ &=2\cdot\frac{3n(n-1)(m-n+1)+n(n-1)(2n-4)}{3}\\ &=2\cdot\frac{n(n-1)(3m-3n+3+2n-4)}{3}\\ &=\frac{2n(n-1)(3m-n-1)}{3} \end{aligned} \]

于是这道题就做完了。最后答案是:

\[nm(m-1)+nm(n-1)+\frac{2n(n-1)(3m-n-1)}{3} \]

单次计算时间复杂度 \(O(1)\)。

代码

点击查看代码
#include <bits/stdc++.h>
#define int long long
using namespace std;

int n,m;

signed main(){
    while(cin>>n>>m&&n&&m){
        if(n>m) swap(n,m);
        int row=n*m*(m-1);
        int col=m*n*(n-1);
        int xie=2*n*(n-1)*(3*m-n-1);
        xie/=3;
        cout<<(row+col+xie)<<'\n';
    }
    return 0;
}

标签:frac,nm,int,斜线,Queen,UVA11538,cdots,Chess,2n
From: https://www.cnblogs.com/zheyuanxie/p/uva11538.html

相关文章

  • Polynomial Round 2022 E. Two Chess Pieces(dfs+dp)
    E.TwoChessPieces题目大意:给定n个节点的以1为根节点的有根树,现在在根节点上有两颗棋子,我们分别给他们规定了它们所必须经过的点,每次可以顺着树移动距离1,但是必须使得......
  • Leela Chess Zero
    LeelaChessZero-ChessprogrammingwikiLeelaChessZeroisinitiatedandannouncedbyStockfishco-authorGaryLinscott.LeelaChessisopensource.Thegoal......
  • 1812.determine-color-of-a-chessboard-square 判断国际象棋棋盘中一个格子的颜色
    问题描述1812.判断国际象棋棋盘中一个格子的颜色解题思路太简单了,不写代码classSolution{public:boolsquareIsWhite(stringcoordinates){if((co......
  • lintcode: N-Queens
    Then-queenspuzzleistheproblemofplacingnqueensonann×nchessboardsuchthatnotwoqueensattackeachother.Givenanintegern,returnalldistincts......
  • 51.N-Queens
    The n-queens puzzleistheproblemofplacing n queensonan nxn chessboardsuchthatnotwoqueensattackeachother.Givenaninteger n,return all......
  • N-Queens
    51.N-Queens https://leetcode.cn/problems/n-queens/ classSolution:defis_valid(self,path,x,y):"""给出现有的棋盘path,和位置(x,y),判断在(x,y)......
  • HDU 3345 War Chess
    ProblemDescriptionWarchessishh'sfavoritegame:Inthisgame,thereisanN*Mbattlemap,andeveryplayerhashisownMovingVal(MV).Ineach......
  • NC19885 [AHOI2009]CHESS 中国象棋
    题目链接题目题目描述在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮。请问有多少种放置方法,中国像棋中炮的行走方式大家应该很清楚吧.一个......
  • CF1545B AquaMoon and Chess(要不再看一下?)
    题目大意:你有一个长为\(n\)的棋盘,这个棋盘上有一些棋子,你可以进行如下操作:如果第\(i+2\)个位置是空的,且第\(i+1\)个位置非空,则可以将第ii个位置的棋子......
  • CF559C Gerald and Giant Chess
    GeraldandGiantChessCF599C(Luogu)题面翻译给定一个H*W的棋盘,棋盘上只有N个格子是黑色的,其他格子都是白色的。在棋盘左上角有一个卒,每一步可以向右或者向下移动一格......