数学
Cu1ii*
平凡的铁匠
展开
-
Rational Ratio
题目连接题意: 给一个无限循环小数,并给出它的循环节长度,让你把这个小数转化为分数思路: 这里先说一个结论,有了这个结论,就很好处理了,例如: 0.123123123… = 123 / 999 ,这样我们就可以把小数部分转化为分数,如果有整数部分,就先转小数,然后再进行合并,由于要求分数是最简,所以要进行化简 这样就把问题完全解决了吗?并没有,如果第一个循环节前面有一部分小数呢?例如: 123.4565656…这样的话,我们可以把4提到整数部分,最后再除个十就可以了 也就是转化为 ---->原创 2020-11-29 17:57:53 · 445 阅读 · 0 评论 -
容斥原理
传送门转载 2020-11-29 14:08:46 · 175 阅读 · 0 评论 -
矩阵快速幂以及求斐波那契数列
先序1、 先说一般数的快速幂,就是把幂指数拆成了二进制进行运算这样就把时间将到了logN(N为幂次数)2、矩阵快速幂就是将快速幂中的数变成了矩阵,但是要注意这里矩阵必须是n✖n的因为下面要介绍矩阵快速幂在logN的时间内求斐波那契数列所以我们暂定矩阵为2 ✖ 2的矩阵乘法的实现//矩阵乘法的实现void marix_mul(ll a[][2],ll b[][2]){ int c[2][2]; memset(c,0,sizeof c); for(int i = 0;原创 2020-10-30 13:36:40 · 397 阅读 · 0 评论 -
欧拉函数及欧拉函数表
欧拉函数Phi(n)=n(1-1/p1) (1-1/p2)…… (1-1/pk)其中p1, p2 ,pk是n的所有素数因子Phi(n):所有小于等于n的且与n互素的数的个数(1)直接实现 int oula(int n) { int rea=n; for(int i=2; i<=n; i++) if(n%i==0)//第一次找到的必为素因子 { rea=rea-rea/i;原创 2020-10-30 13:20:36 · 3156 阅读 · 1 评论 -
2020牛客国庆集训派对day8 (补)
2020牛客国庆集训派对day8 E题意: n个人 ,要出k道题,每个人都有一个题目难度的序列,每一轮按照从1-n的顺序说题目难度,如果说的这个数大于等于之前它之前的题目难度和,就把这个题的难度加进去,如果最后放进去的题目< k 那么就用50填充剩余的,但是要注意如果当前人没有题目了,但是还有人的题目剩余,那么这一次的填充也为50虽然我没做出来,但是作为一个签到题我选择直接piao代码代码出处#include <bits/stdc++.h>#include <iostr原创 2020-10-12 21:30:16 · 273 阅读 · 1 评论 -
补题 hdu 6440 (ccpc网络赛)
题意:给出素数p,要求自定义乘法与加法使得对于任意n,m∈[0,p-1],都能满足(m+n)p=mp+n^p。自定义加法是指你自己构造出p*p的矩阵,让第i行第j列表示i+j的自定义值。自定义乘法也构造这样一个矩阵。且有附加条件:存在q(0<q<p)使得集合{q^k | 0<k<p,k∈Z} 与 集合 {k | 0<k<p,k∈Z}相等。注意集合相等的定义。解析:hdu 6440#include <bits/stdc++.h>using names转载 2020-09-18 19:15:28 · 164 阅读 · 0 评论 -
hdu 6441(cccp,平方数定理)
hdu 6441题意 已知 a , n,且an + bn = cn 中的b,c很清晰,但是不知道平方数定理是真的难受,下午训练赛时wa了一下午,就是因为忘记平方数定理具体内容了。。而且我们队自己发现 一个定理说了,当n >=3 时,无解,所以只要求n == 2时的即可,也就是利用平方数定理求解对于 a2 + b2 = c2 中a,b,c中若a是奇数 则a,b,c为(2n + 1,2n2 + 2n , 2n2 + 2n + 1)(n >=1)若a是偶数,则a,b,c为(2n,原创 2020-09-13 23:10:26 · 118 阅读 · 0 评论 -
BST poj2309(树状数组lowbit)
题目链接:BST题目很好理解,不再赘述题意思路:看很多文章都说是树状数组,但是我仔细想了想,发现跟树状数组还是有区别的,只能说跟数状数组类似,但是不是树状数组利用树状数组中的lowbit来计算这个二叉树的节点值,从左向下每个节点减的都是当前节点值的lowbit() / 2,那么最后减的总数不就是,给定根节点的lowbit() - 1,同理,从右往下走,加的是根节点的lowbit() - 1,可以拿笔将其转化为二进制试一试,这个值就是根节点lowbit() / 2 的值在二进制的位置然后一直到0原创 2020-08-05 01:50:02 · 156 阅读 · 0 评论 -
逆元
【概念】其实逆元的概念和倒数差不多,即:方程 ax\equiv 1(mod, : p) 的解称为 a 关于模 p 的逆,当 gcd(a,p)=1(即 a,p 互质)时,方程有唯一解,否则无解。那么逆元可以用来干什么呢,比如说对于 (a/b), mod: p,并没有 ((a: mod: p)/(b: mod:p)), mod: p,但是直接除又会爆精度,这时我们就可以用到逆元,假设用 inv(b) 代表 b 的逆元,那么 (a/b),mod:p=(a*inv(b)),mod:p。【三种求法】方法一转载 2020-06-07 19:25:11 · 168 阅读 · 0 评论 -
补 ICPC Pacific Northwest Regional Contest 2019 Rainbow Strings (E)
题目链接Rainbow Stringsemm,具体原理不太懂,但是就目前来说只要会用应该就可以。这里把大佬的原理给一下,日后再学 文章出处定义一个没有包含重复字符的字符串为彩虹字符串,现给出一个长度不超过100000的字符串,求出其可以作为彩虹字符串的子序列数,对答案取模209952。思路:把所有的n个字符中每个字符出现的次数求出来,答案就是n个数中取m个数相乘的和(0<...原创 2020-05-05 15:35:57 · 264 阅读 · 0 评论 -
牛客 F日期小能手
题目链接这道题,思路就是找到6.1,和5.1是周几,然后再把日期加上去,想法是直接暴算,但是因为我又菜又懒,就放弃了这个题,后来补题的时候,看到大佬的代码,有公式可以计算某一天日期是周几,并且,可以先进行预处理这样更方便了,偷学了一手,确实,有奇效。这里留一下大佬的代码,以便日后参考和学习#include<iostream>#include<cmath>#incl...原创 2020-04-18 19:53:43 · 158 阅读 · 0 评论 -
蔡勒公式(计算星期几)
蔡勒公式``/*蔡勒公式1582.10.4之后 w = (y + y/4 + c/4 - 2c + (26(m+1))/10 + d - 1) % 71582.10.4及之前 w = (y + y/4 + c/4 -2c + (13(m+1))/5 + d + 2) % 7;/int week(int y, int m, int d) //1582.10.4之后星期的计算{...转载 2020-04-18 19:07:44 · 488 阅读 · 0 评论 -
基姆拉尔森计算公式---计算星期几
基姆拉尔森计算公式用于计算一个日期是星期几m 代表月份 d 代表日期 y代表年份公式 w= (d+2m+3(m+1)/5+y+y/4-y/100+y/400+1)%7所得到的w 代表星期 w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六注意:当年的1,2月要当成上一年的13,14月进行计算#include<...转载 2020-04-18 19:03:52 · 726 阅读 · 0 评论 -
赛后补题 North America Qualifier (2015) B Bobby's Bet
题目链接 Bobby’s Bet有一说一,英语太菜了,看不懂题。。题意 掷色子,有s个面,值是1-s,掷y次,如果有至少x次所得的值 >= r 那么就给bobby w个钱,反之给Betty 1个钱,问值不值得赌。就是个求数学期望的问题,w乘以至少x次所得值>= r 的概率即可,其中涉及到组合数的知识,会专门写一篇或者转载一篇来记录。代码#include <cstdi...原创 2020-04-20 00:56:53 · 205 阅读 · 1 评论