- 博客(32)
- 收藏
- 关注
原创 博弈——混合(尼姆)HDU 4388 Stone Game II
1. 如果x的第p位为1且k的第p位也为1,那么(x^k)的第p位就是0.2. 如果x的第p位为1且k的第p位也为0,那么(x^k)的第p位就是1.3. 如果x的第p位为0且k的第p位也为1,那么(x^k)的第p位就是1. 4. 如果x的第p位为0且k的第p位也为0,那么(x^k)的第p位就是0.
2018-10-31 15:03:23 252
原创 洛谷——P3912 素数个数 Meissel-Lehmer算法 找素数快速算法
P3912 素数个数 线性筛交了一次,一个测试点不过得90分。#include<bits/stdc++.h> using namespace std;const int MAXN=1e8+6; int primes[MAXN],tot=0;bool isPrime[MAXN];int getPrime(int n){ memset(isPrime,true...
2018-10-30 20:26:01 1888
原创 洛谷——P1075 质因数分解
P1075 质因数分解质数一个定理:一个数能且只能分解为一组质数的乘积#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; for(int i=2;i<=n;i++) { if(n%i==0) { cout<<n/i<<...
2018-10-30 20:11:06 1455
原创 数论——线性筛素数(欧拉筛) 洛谷 3383
P3383 【模板】线性筛素数#include<iostream>using namespace std;const int maxn=1e7+6;int n,m;int flag[maxn];int p[maxn];void getPrime(int n){ int r=0; for(int i=2;i<=n;i++) { if(...
2018-10-30 19:27:53 281
原创 组合数学——置换群 POJ 2396 Permutations
点击转到1. 4,1,5,2,3->2,4,3,1,5->1,2,5,4,3->4,1,3,2,5->2,4,5,1,3->1,2,3,4,5->4,1,5,2,3 要经过6次映射能变回4,1,5,2,3(循环节的最小公倍数)#include<iostream>#include<cstdio> #include&l...
2018-10-29 17:07:14 352
原创 ACM-ICPC 2017 Asia Qingdao (现场赛)
ACM-ICPC 2017 Asia Qingdao 常见问题题目列表 排名:- 问答 A. Battle in Two Pairs of Heroes 题库链接 通过率: 33.33 % 通过人数: 1 B. Chenchen, Tangtang and ZengZeng 题库链接 通过率: 97.3 % 通过人数: 36 C. Coll...
2018-10-25 18:12:30 622
原创 中国剩余定理应用 (poj 1006 Biorhythms)
Biorhythms1.中国剩余定理回顾: 这个问题源自于我国数学古书《孙子算经》中的一道问题:“今有物,不知其数,三三数之,剩二;五五数之,剩三;七七数之,剩二。问物几何?”意思是一个整数除以三余二,除以五余三,除以七余二,求这个整数(满足条件且最小)。做法是: n%3==2,n%5==3,n%7==2,并且3,5,7折三个数是互质的。 我们找到使(5*7*a)%...
2018-10-23 19:32:23 333
原创 山东省第八届ACM题(部分赛题整理)
3893 - Return of the Nim 118 / 221 53.39% “浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学) 3894 - Quadrat 34 / 73 46.58% “浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学) 3895 - fireworks 195 / 63...
2018-10-23 16:31:48 413
原创 计算几何——线段是否相交(51 NOD 1264 线段相交 )
1264 线段相交 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出平面上两条线段的两个端点,判断这两条线段是否相交(有一个公共点或有部分重合认为相交)。 如果相交,输出"Yes",否则输出"No"。Input第1行:一个数T,表示输入的测试数量(1 <= T <= 1000)第2 - T + 1行:每行8个数,x...
2018-10-17 21:24:56 283
原创 计算几何——四点共面问题 51 Nod 1265 四点共面
1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面)。如果共面,输出"Yes",否则输出"No"。Input第1行:一个数T,表示输入的测试数量(1 <= T <= 1000)第2 - 4T + 1行:每行...
2018-10-17 19:50:24 747
原创 51 Nod 1014 X^2 Mod P (数论+二次剩余)
1014 X^2 Mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注X*X mod P = A,其中P为质数。给出P和A,求<=P的所有X。Input两个数P A,中间用空格隔开。(1 <= A < P <= 1000000, P为质数)Output输出符合条件的X,且0 <=...
2018-10-16 17:10:11 275
原创 51 Nod 1046 A^B Mod C (数论+矩阵快速幂)
1046 A^B Mod C 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算结果Input示例...
2018-10-16 16:55:44 219
原创 51Nod 1070 Bash游戏 V4 (Fibonacci博弈 )
1、问题模型: 有一堆个数为n的石子,游戏双方轮流取石子,满足: (1)先手不能在第一次把所有的石子取完; (2)之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。 约定取走最后一个石子的人为赢家。2、解决思路: 当n为Fibonacci数时,先手必败。即存在先手的必败态当且仅当石头个数为Fibonacci数。 证明:根据“Zeckendorf定理”(齐肯多夫定理):任何正整数可以表示为若干个不连续的Fibonacci数之和。如n=
2018-10-16 16:16:26 244
原创 博弈论知识点总结(巴什博奕 威佐夫博弈 尼姆博弈 SG()函数介绍)
转载自:总结真心感谢博主,终于知道为什么尼姆博弈用异或来解决。SG函数模板:void init()//根据题目要求进行修改 { a[0]=1; for(int i=1;i<=32;i++) a[i]=a[i-1]*2;}void SG(){ for(int i=1;i<=1000;i++) { memset(vis,0,sizeo...
2018-10-16 15:45:50 470
原创 51Nod 1068 Bash游戏 V3
1068 Bash游戏 V3 题目来源: Ural 1180基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注有一堆石子共有N个。A B两个人轮流拿,A先拿。每次拿的数量只能是2的正整数次幂,比如(1,2,4,8,16....),拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。...
2018-10-15 21:36:15 177
原创 2017青岛区域赛 (部分题解)
vjudge上 题目链接:VJH Chinese Zodiac//垃圾#include<bits/stdc++.h>using namespace std;int judge(char s[]){ if(strcmp(s,"rat")==0) return 1; else if(strcmp(s,"ox")==0) return 2; else ...
2018-10-15 21:09:34 801
原创 课程设计-----大学建筑信息管理系统(C++课程设计,数据结构,软件过程与管理)
#include <iostream> #include <iostream> #include <cstring> #include <fstream> #include <malloc.h> #include <cstdio> #include <sstream> #include
2018-10-15 10:58:03 433
原创 51 nod 1185 威佐夫游戏 V2 (高精度,模拟)
1185 威佐夫游戏 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。例如:2堆石子分别为3颗和5颗。那么不论A怎...
2018-10-13 17:45:30 194
原创 51Nod 1284 2 3 5 7的倍数 (容斥定理,容斥取反)
点击转到1284 2 3 5 7的倍数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。Input输入1个数N(1 <= N <= 10^18)。Output输出不是2 3 5 7的倍数的数...
2018-10-13 16:31:54 220
原创 “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 题解
点击转到(牛客网)A. Anagram1.思路: 给定两个字符串,假设是ELLY与KRIS,E到K是6,L到R是6,当第二个L到I时,L是比I大的,此时L就要绕到Z,从Z到A,再从A开始到I,这样长度就是23,Y到S同理,长度是20;这样找完之后序列长度之和就是6 +6+23+20=55.这是题目中给出的一种解答。但是题目要求我们找字符间最小的长度,我就把第一个字符串中的每一...
2018-10-13 11:31:27 836
原创 数论 之 筛法总结(艾托拉斯特尼筛法+欧拉筛法)
1.筛法: 2.埃拉托斯特尼筛法(素数/质数筛选法):2.1 步骤: 给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个素数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个素数5筛,把5留下,把5的倍数剔除掉;重复进行......详细列出算法如下:将2的倍数(用红色标出),序列变成: 2 3 4 5 6 7 8...
2018-10-12 16:11:06 1070
原创 51Nod 1136 欧拉函数(欧拉函数模板题)
1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。Input输入一个数...
2018-10-11 20:08:39 313
原创 数论学习 之 欧拉函数详解
1.积性函数——欧拉函数——欧拉函数性质——欧拉函数模板:#include<bits/stdc++.h>using namespace std;int Euler(int n){ int ans=n; for(int i=2;i<=sqrt(n);i++) { if(n%i==0) { ans=ans/i*(i-1);//欧拉函数性质三 w...
2018-10-11 19:49:27 471
原创 c++中关于M_PI,M_E的解释和使用,以及参考值
1.M_PI 是一个宏定义,圆周率的定义 #define M_PI 3.14159265358979323846 (参考) 此宏定义和编译器有关,TC中M_PI宏就定义在<math.h>里面。 但vc的<math.h>中没有了M_PI的宏定义。2.M_E 是自然对数的一个宏定义 #define M_E 2.7182818284590452353...
2018-10-11 18:44:05 30982
原创 51Nod 1130 N的阶乘的长度 V2(斯特林近似) M_PI使用
点击转到1130 N的阶乘的长度 V2(斯特林近似) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 1000)第2 - T + 1行:每行1个数N。(1 <...
2018-10-11 17:28:47 157
原创 51Nod 1079 中国剩余定理(中国剩余定理模板题)
点击转到1079 中国剩余定理 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合条件的最小的K = 23。Input第1行:1个数N表示后面输入的质数及模的数量。(2 <= N &l...
2018-10-11 16:02:13 214
原创 51Nod 1256 乘法逆元模板题
点击转到1256 乘法逆元 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。Input输入2个数M, N中间用空格分隔(1 <= M < N <= 1...
2018-10-11 15:21:36 255
原创 数论 之 乘法逆元介绍(扩展欧几里得算法求解乘法逆元)
1.扩展欧几里得: 已知整数a、b,扩展欧几里得算法可以在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满贝祖等式:。 2.乘法逆元:ax≡1 (mod p) 这个等式可以描述为: a乘一个数x并模p等于1,即 a%p*x%p=res,res%p=1;看上去就是同余定理的一个简单等式。 逆元x可以描...
2018-10-10 21:17:12 1642
原创 数论 之 中国剩余定理(孙子定理)
1.中国剩余定理理解: 剩余定理,顾名思义就是和余数有关的操作,比如中国剩余定理解决的经典问题: 在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3 余2),五五数之剩三(除以5 余3),七七数之剩二(除以7 余2),问物几何?” 类似求解这样的问题,便属于中国剩余定理的范畴。但是这样的问题如何来解决呢?在解决本问题之前,我们先来学习两个相关的定理:...
2018-10-10 20:26:47 1706
原创 POJ 3070 Fibonacci 矩阵快速幂求解
点击转到FibonacciTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 19599 Accepted: 13545 DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + ...
2018-10-09 17:45:58 206
原创 “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 H Dominoes (BFS)
链接:https://www.nowcoder.com/acm/contest/123/H来源:牛客网 题目描述Orz likes to play dominoes. Now giving an n∗m chessboard and k dominoes whose size are 1∗2, Orz finds that there is exactly one grid empty...
2018-10-08 21:30:56 391
原创 Codeforces Round #514 (Div. 2)(补 2018.10.06)
A. Cashier#include<iostream>#include<cstdio>using namespace std;int main(){ int n,L,a; int t,l; int cnt=0; int ans=0; scanf("%d%d%d",&n,&L,&a); if(n==0) { cout&...
2018-10-08 20:26:55 159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人