康托展开

        康托展开可以建立1~n全排列到n!的一一映射,常用于字符串哈希,这也是优化时间空间的一种方法。

阅读全文〉

[洛谷P2154]虔诚的墓主人

难度:省选/NOI-

题目描述

        小W是一片新造公墓的管理人。公墓可以看成一块N×M的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地。
        当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地。为了体现自己对主的真诚,他们希望自己的墓地拥有着较高的虔诚度。
        一块墓地的虔诚度是指以这块墓地为中心的十字架的数目。一个十字架可以看成中间是墓地,墓地的正上、正下、正左、正右都有恰好k棵常青树。
        小W希望知道他所管理的这片公墓中所有墓地的虔诚度总和是多少。

阅读全文〉

[洛谷P1641]生成字符串

难度:省选/NOI-

题目描述

        lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗?

阅读全文〉

乘法逆元

        乘法逆元在ACM中常用于在除法运算取模,这是一个重要方法。
        首先先认识什么是乘法逆元,对于整数a,若存在整数x使得$ax\equiv1(mod p)$,则称x为a关于1模p的乘法逆元。
        将同余式化为整除式可得$ax+py=1$,根据裴蜀定理可知a与p互质,即$gcd(a,p)=1$。这说明当且仅当a与p互质时,a关于模p的乘法逆元才存在。

阅读全文〉

[洛谷P1357]花园

难度:省选/NOI-

题目描述

        小L有一座环形花园,沿花园的顺时针方向,他把各个花圃编号为1~N(2≤N≤1015)。他的环形花园每天都会换一个新花样,但他的花园都不外乎一个规则,任意相邻M(2≤M≤5,M≤N)个花圃中有不超过K(1≤K<M)个C形的花圃,其余花圃均为P形的花圃。
        例如,N=10,M=5,K=3。则
        CCPCPPPPCC 是一种不符合规则的花圃;
        CCPPPPCPCP 是一种符合规则的花圃。
        请帮小L求出符合规则的花园种数Mod 1000000007
        现请您编写一个程序解决此题。

阅读全文〉

[洛谷P2575]高手过招

难度:提高+/省选-

题目描述

        AKN玩游戏玩累了,于是他开始和同伴下棋了,玩的是跳棋!对手是wwx!这两位上古神遇在一起下棋,使得棋局变得玄幻莫测,高手过招,必有一赢,他们都将用最佳策略下棋,现在给你一个n*20的棋盘,以及棋盘上有若干个棋子,问谁赢?akn先手!
        游戏规则是这样的:
        对于一个棋子,能将它向右移动一格,如果右边有棋子,则向右跳到第一个空格,如果右边没有空格,则不能移动这个棋子,如果所有棋子都不能移动,那么将输掉这场比赛。

阅读全文〉