E: DATE ALIVE 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 五河士道家里的精灵越来越多了,而每一个精灵都想和他有一个约会.然而五河士道却只有一个,无奈之下只能使出分身帮自己解围. 不过并不是所有的精灵都同意这样做,有些精灵不愿意和士道分身进行约会,也有部分精灵同时选择同一个分身进行约会. 假设有N个分身,精灵的数量为M,可能的约会组合有K组. 设N=3,M=5,K=5,可能的组合为1-1,1-3,2-4,3-4,3-5(如下图),为了避免冲突,我…
A: 求近似值 时间限制: 1 s      内存限制: 128 MB 提交 我的状态 题目描述 求⌊(5–√+6–√)2n⌋⌊(5+6)2n⌋%9932017. 例如:n=1,(5–√+6–√)2(5+6)2=21.9544....,⌊(5–√+6–√)2⌋⌊(5+6)2⌋%9932017=21. 输入 第一行输入T,表示n的个数.(1<=T<=200000) 下面T行每行一个数,表示n.(0<=n<=10^18) 输出 按照题意输出答案. 样例输入 3 0 1 2 样例输出 1…
D: 字符串最大表示 时间限制: 1 s      内存限制: 128 MB 题目描述 有如下定义,abcnabcn表示字符串abc重复n次,例如abc2abc2表示abcabc. 给定一个字符串,求可以被表示的最大n,例如:aaaa最大个数是4,重复子串为a:abababab最大个数是4,重复子串是ab:ababababc最大个数是1, 重复子串是ababababc. 输入 第一行输入n,表示字符串的个数.(n <= 100) 接下来n行,每行一个字符串.(字符串长度<=100000) 输出…
1001 Beautiful Palindrome Number 枚举回文数字前半部分,然后判断该数字是否满足,复杂度为O(sqrt(n))! 1002 Recovery Sequence  本题的核心在于求出约瑟夫环出队序列,如果直接暴力的话复杂度约为O(N*N)将会超时.这里可以使用 树状数组或者线段树或者SBt等数据结构 来优化根据本次出队位置和剩余人数的数量,可以算出下次出队的位置,从而使用数据结构来查询其真实标号.对于每组样例的复杂度根据不同的数据结构为 O(nlgn)或O(nlgnl…
问题 A: 求近似值 #include <stdio.h> #include <time.h> #include <stdlib.h> using namespace std; #define ll long long const ll M = 9e18; ; struct Node { ll m[][]; }; ll a[]; Node mul(Node a, Node b) { Node A; ; i < ; ++i) { ; j < ; ++j) {…
题目描述 三角数:形如图a,圆点摆放成等边三角形的数字,则为三角数. (图a) 平方数:形如图b,小方块摆放成正方形的数字,则为平方数. (图b) 那么如果一个数字既是三角形数又是平方数,则称为三角平方数.很显然我们知道第一个三角平方数就是1了. 那么第n个三角平方数是哪个呢? 输入 输入一个正整数n (1≤n≤2001≤n≤200) 输出 输出第n个三角平方数 样例输入 1 样例输出 1 提示   来源 ismdeep 提交 我的状态 © 2018  JustOJ     中文  Englis…
B Interesting paths 考察范围:组合数学 此题是机器人走方格的变种,n*m的网格,从(1,1)走到(n,m),首先可以明确,水平要走m-1格,竖直要走n-1格,则走到目的地的任意一条路径必须走n+m-2格,呢么只要确定竖直要走的,剩下的就是水平要走的,则答案为 . 在Interseting paths要求左下角和右上角两个小矩阵不能走,则需要把整个网格依据两个小矩阵的水平和竖直边界分为两部分,依次运用组合数.例如 灰色区域之外为可走区域,分为两部分棕色,和黄色,则结果为 若是这…
 C语言竞赛初级组第一.二场答案:https://www.cnblogs.com/xingkongyihao/p/10046918.html  A: 逆序对 时间限制: 1 s      内存限制: 128 MB  题目描述 1.整数序列中两个相邻的数,如果后面的数小于前面的数,则称这两个数值构成了一个逆序对.例如,整数序列10,4,16,8,21,18,9中包含了4个逆序对.从键盘上输入n个由空格分隔的整数,编程输出其中包含的逆序对的数量. 输入 第一行输入一个数字n (1≤n≤1000) 第…
Beautiful Palindrome Number 题意:求N里面有多少个符合要求的数字(数字要求:回文数,且前一半部分是不严格递增) 解法:打表 #include<bits/stdc++.h> using namespace std; int find1(int index) { ; ; //记录数位上的回文数,如个位回文数为9 ; //记录数位 long half; //保存回文数的左半边的结果 ; //回文数的左半边的起始基数 long res; //结果 while(true) {…
问题 A: Petr的盒子(初) #include <iostream> #include <stdio.h> #include <algorithm> using namespace std; ]; int main(){ int n , x; scanf("%d",&n); ; i < n ; i ++){ scanf("%d",&x); a[i] = ; a[i] *= x; } ; i < n…