数论
Tz_rain
需要做的事情
解题 总结 巩固
解题三个步骤
量化 分析 实现
需要改变的三个问题
性格 心态 思考方式
不要再后悔
展开
-
SRM552 FoxPlusMinus
数组first,大小为K。构造一个first的排列F。对于无穷序列A:∀∀i,0<=i思路<1>n int k=F.size(); res.resize(k); sort(F.begin(),F.end()); if(k&1||N<k){ N=N%(k+1); if(N==k){ //最大的F[k];原创 2017-01-23 11:17:00 · 249 阅读 · 0 评论 -
简单数学(关于乘法逆元以及中国剩余定理)
逆元什么是逆元 对于a再(modP)下 如果有a*X%P=1则我们称a的逆元为X(即a−1a^{-1} ) 显然a*(a−1 ^ {-1} )=1; 逆元的求法 <1>使用拓展欧几里得。 int exgcd(int a,int b,int &X,int &Y){ if(!b){X=1,Y=0;return a;} int t=x-(a/b)*y; return原创 2017-03-20 22:13:18 · 968 阅读 · 0 评论 -
专题:强大的运算工具——矩阵
什么是矩阵对于 矩阵的的初步认识这里有一些讲解。一开始我对矩阵奇葩的运算方式感到奇怪,它有什么用。。。 DPDP问题的加速可以利用矩阵的结合律来实现。同时一些图论问题,利用矩阵有关图的联通和边权问题我们又有了一个新招了。(讲道理,要用到矩阵的题目似乎都是为它专门设计的。)同时还有其他的作用可以参考大牛的博客十个利用矩阵乘法解决的经典题目,codecode矩阵乘法在图联通中的原创 2017-07-10 09:45:38 · 977 阅读 · 0 评论 -
矩阵的的初步认识
矩阵的乘法运算 typedef vector<int> vitypedef vector<vi> matmat mul(mat A,mat B){ mat C(sz(A),vi(sz(B[0])); for(int i=0;i<sz(A);i++) for(int k=0;k<sz(B);k++) for(int j=0;j<sz(B[0原创 2017-03-27 22:32:10 · 251 阅读 · 0 评论 -
专题:有关容斥原理和子集枚举的一些问题
容斥原理意义:有些问题中经常会出现这样一些烦人的限制条件如: 每个物品有一个额外的权如11011101,10011001, 我们最终答案的状态种一定要满足所取的物品,它们的权或后为11111111。此时如果这个值的位数很大我们之前学习过的知识对其就没有办法了。此时我们不妨分析一下最终的答案是怎么得到的。只要最终四个位上都有11就满足了对吧,不难发现如果我们把条件放宽一点:即最终得到的答案是1原创 2017-07-10 15:04:49 · 1081 阅读 · 0 评论 -
高斯消元
const double EPS =1e-8;typedef vector<double> vd;typedef vector<vd> mat;vd gauss(const mat &A,const vec& b){ int n=sz(A); mat B(n,vec(n+1)); for(int i=0;i<n;i++) for(int j=0;j<n;原创 2017-03-28 22:33:20 · 217 阅读 · 0 评论 -
简单数学(关于素数判断和因数分解)
include原创 2017-03-20 19:03:53 · 438 阅读 · 0 评论 -
SRM 691 Undiv2
s(i)表示第二个不能整除i的数。求1~n所有s(i)的和(1<=n<=1000,000,000).思路<1>显然对于一个X如果第一个不能整除它的数为z(X)所以lcm(1,2,…z(X)-1)必为X的一个因子 <2>同理对于一个X如果前两个不能整除它的数分别为z(X),s(X),lcm(1,2,…z(X)-1,z(x)+1,…s(x)-2,s(x)-1)必为X的一个因子,于是直接枚举即可z(i)原创 2017-02-03 10:16:32 · 393 阅读 · 0 评论 -
SRM 586 DIV2 1000 StringWeightDiv2
给出序列长度len,要你用26个字母将其填满,填满后该序列的代价即为每一个字母最右边的位置IDR减去最左边的位置IDL,比如序列ABCACAZ的代价就是(6-1)+(2-2)+(5-3)+(7-7)=7先求使得代价最小的方案数;思路当序列长度大于26时显然最优的方法是把一样的字符放在一起 可以使用插空法把整个序列分为26份 但是这时我们考虑到此时每一种方案都是由26!种排列构成的 所以总方案数原创 2017-01-24 09:54:01 · 333 阅读 · 0 评论 -
[青蛙的约会 ]拓展欧几里得解同余方程
青蛙的约会题目描述两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为...原创 2019-06-09 15:19:53 · 163 阅读 · 0 评论