数学
MrBird_to_fly
这个作者很懒,什么都没留下…
展开
-
Poj 1222 高斯消元
题意:给定5*6的灯阵,0为关1为开,每次开关(x,y)会同时开关(x-1,y)(x+1,y)(x,y-1)(x,y+1)四灯(出界不予讨论即可),给定初始灯阵,求使所有灯都关闭的开灯方法。分析:从上往下从左往右计数,第i个灯的开关情况记为ai,ai=0不动,ai=1开一次。每个灯的最终状态由它和它周围的灯开关状态确定。 对每个灯建立30元一次异或方程; 例如: 0 1 1 0 1 0 1原创 2016-04-15 13:19:57 · 627 阅读 · 0 评论 -
Poj 2409 polya计数
昨天入手了Richard A.Brualdi的《组合数学》(第五版),粗粗翻了一下,发现前几章排列组合计数什么的高中搞MO的时候学过了,于是水了几题之后,直接开始看最后一章polya计数,啃了一整天差不多算是粗粗过了一遍。还是有许多地方理得不是很清晰,之后再巩固吧。 水个入门题先,poj2409。题意:长度为n的圆环,用c种颜色染色,问有多少种不同的染色法。其中,可通过旋转和翻转得到的视为同一种。原创 2016-05-02 16:57:23 · 507 阅读 · 0 评论 -
2010 成都Regional H 博弈,概率dp
#include <bits/stdc++.h>using namespace std;double dp[2][3][4][19][28][28];//状态分别是(轮次)(最上层数)(第二层状态)(A状态个数)(B状态个数)(C状态个数),D状态个数和高度可以算出来bool vis[2][3][4][19][28][28];double ba1, da1, ba2, da2, ba3, da3原创 2017-06-30 18:53:07 · 388 阅读 · 0 评论 -
Hdu 4498 自适应辛普森积分
题意:求100个二次函数最小值在区间[0,100]的弧长(y=100也可以看做退化的二次函数)做法:n方枚举交点,把交点排序后分段,每段用弧长公式积分,积不出来就辛普森一下就行了。我一开始naive地直接辛普森,发现挂了,然后强行分成100段,还是挂了,这个故事告诉我们暴力那啥不可取,要相信科学(辛普森只能积优美的连续函数)。代码:#include <bits/stdc++.h>using nam原创 2017-06-14 16:11:42 · 555 阅读 · 0 评论 -
2017 CCPC秦皇岛 B
枚举一对匹配的括号,里面和外面都是catalan数。注意到相同距离的括号对可以合并,枚举距离计一下数即可。过程中要预处理阶乘和逆元。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=2000005;ll n, mod, b[maxn], a[maxn], A, B;ll inv[ma原创 2017-11-01 21:50:43 · 607 阅读 · 0 评论 -
Hdu 6240 01分数规划
这个是CCPC哈尔滨的K题,当时听到隔壁THU卡题少女队说是01分数规划,没学过就弃了。后来发现这玩意挺傻逼的,今天掏出来BB了一顿很快就AC了。 题意: 从一堆[si,ti]的区间中选一部分完全覆盖[1, T], 每个区间有两个权值ai bi, 要求选用的区间的 ∑ai∑bi\frac{\sum ai}{\sum bi} 的最小值。 做法: 先参考一下fjzzq大佬的文章https://www原创 2017-11-14 18:07:29 · 958 阅读 · 4 评论 -
LOJ 6235 洲阁筛
尝试理解Min_25筛失败,绝望地用洲阁筛切了个板题。#include &amp;lt;bits/stdc++.h&amp;gt;using namespace std;typedef long long ll;const int LIM=400000,P=30000;ll sqr;bool vis[LIM];int prime[P],sum[LIM],last[LIM&amp;lt;&amp;lt;1],cnt...原创 2018-08-23 20:16:57 · 633 阅读 · 0 评论 -
SPOJ MOD 离散对数
题目描述求方程A^X=B%C的最小非负整数解,这里的C不一定是素数。#include <bits/stdc++.h>using namespace std;typedef long long ll;//A^X=B%Cunordered_map<ll,int>mp;ll exbsgs(ll a,ll b,ll c){ if(c==1)return 0; ll...原创 2018-09-19 20:07:24 · 488 阅读 · 0 评论 -
Bzoj 3122 离散对数
题目描述HINT这题的p是素数。。。尼玛想半天不会。。。会合数版本的请联系我#include <bits/stdc++.h>using namespace std;typedef long long ll;map<ll,int>mp;void exgcd(ll a, ll b, ll &x, ll &y){ if(b==0){ x=1,...原创 2018-09-19 21:22:40 · 289 阅读 · 0 评论 -
原根、FFT练习题
51nod 1135题目描述求小于1e9的素数p的原根#include &amp;amp;lt;bits/stdc++.h&amp;amp;gt;using namespace std;int pi[40];int tot=0;int power(int x,int n,int p){ int base=x; int ans=1; while(n){ if(n&amp;amp;amp;1){ ans=1ll原创 2018-09-20 15:31:13 · 868 阅读 · 0 评论 -
Project Euler一句话题解(此贴持续更新)
好好搞一波数学,从PE第三页开刷101:Lagrange插值多项式 Ans:37076114526原创 2016-10-20 20:45:52 · 725 阅读 · 0 评论 -
CF 757E 数论
题意:好难描述不想写了 做法:我比赛的时候是找规律分解到f0做的,估计是常数过大gg了。后来补题的时候发现f0是积性函数,通过数学归纳法可以证fr都是积性函数。然后就预处理一下分解质因数就做完了。 代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mod=1e9+7;ll f[31][1原创 2017-01-16 23:52:53 · 862 阅读 · 0 评论 -
Hdu 5391 威尔逊定理+Miller-Rabin
题意:求(n-1)!%n,其中t=1e5,n=1e9做法: 威尔逊定理:n为素数等价于(n-1)!%n=1; 而n为合数时,除了n=4的情况,(n-1)!%n=0;Miller-Rabin 判别法: 基于 “a^(p-1)%p=1” 和 “若a^2%p=1,则a%p=1或p-1”,随机取10次a验证以上二式是否成立即可。代码:#include <bits/stdc++.h>using nam原创 2016-11-18 11:24:53 · 399 阅读 · 0 评论 -
NJUST校赛D题
比赛时写了100多行WA了八遍,今早发现SB了,随手敲了30行,1A。。。。。。内心崩溃题意:求1~n之间gcd(a,b,c)=m的3元组数量。分析:题意等价于求1~n/m之间gcd(a,b,c)=1的3元组数量,所以只要求1~n之间gcd(a,b,c)=1的3元组数量即可,记之为An。 (a,b,c)三元组一共有C(n,3)个。要求gcd(a,b,c)=1的3元组数,只需将C(n,3)依次减去g原创 2016-04-18 08:16:37 · 769 阅读 · 0 评论 -
2016 多校2 1005 计数
Problem Description Professor Zhang draws n points on the plane, which are conveniently labeled by 1,2,…,n. The i-th point is at (xi,yi). Professor Zhang wants to know the number of best sets. As the原创 2016-07-22 15:11:14 · 333 阅读 · 0 评论 -
USACO Prime Palindromes
马上进入chapter2了,很稳啊,刷水总是心情愉悦的,因为都能过。 虽说如此,这道还是看了下Hint才过的,毕竟太菜。题意:求1e8以内某个区间上的回文素数。做法:先generate所有回文数,再判是否素数。(一开始枚举1-1e8,判是否回文是否素,mdzz,这tm能过就有鬼了)generate只要枚举1-9999的数,偶位数倒一下拼起来,奇位数中间的数单独讨论即可。反正很EZ就是啦。代码:/*原创 2016-06-20 23:19:03 · 386 阅读 · 0 评论 -
2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest A
A. Anagrams time limit per test1 second memory limit per test512 megabytes inputstandard input outputstandard output Consider the positional numeral system with a given base b. A positive integer原创 2016-08-29 19:21:18 · 957 阅读 · 0 评论 -
求乘法逆元的三种写法
逆元:求(a/b)%m时需要转换成a*b^-1%m,而b^-1%m即为b关于m的逆元。 求逆元可以exgcd做,比较烦,推荐三种从acdreamers大牛处学习的写法。 1.费马小定理:a^(p-1)%p=1.(p为素数) 上式可以写成a*a^(p-2)%p=1,显然a^(p-2)即为a关于p的逆元。快速幂即可。 2. o(n)递推求1-n逆元,证明参照ac大牛blog。int[] inv原创 2016-09-01 15:32:55 · 1184 阅读 · 0 评论 -
Poj 1777 梅森素数
Vivian’s Problem Time Limit: 1000MSMemory Limit: 30000K[显示标签] Description The desire to explore the unknown has been a driving force in human history since the dawn of time. From the earliest docum原创 2016-09-01 17:12:25 · 715 阅读 · 0 评论 -
CF 709D 数学,构造
D. Recover the String time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output For each string s consisting of characters ‘0’ and ‘1’ one can define原创 2016-08-25 13:12:36 · 586 阅读 · 0 评论 -
Sgu 130 Catalan数
题意:一个圆上给2k个点,连k条线,每个点连一次,问最少把圆分成几块,以及这样的分法种数。 做法:显然每条线不相交是最优方案,最少分成k+1块。然后考虑对标号为1的点,可以连2,4…2k,则f(k+1)=∑i=0kf(i)∗f(k−i)f(k+1)=\sum_{i=0}^k f(i)*f(k-i) 这个是catalan数的递推公式。而catalan数的通项是1n+1(2nn)\frac{1}{n原创 2016-09-22 19:28:20 · 304 阅读 · 0 评论 -
CCPC长春 G Instability
InstabilityTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0Problem Description Long long ago, there was a prospe原创 2016-10-04 20:42:14 · 466 阅读 · 0 评论 -
Hdu 4656 任意模数FFT
UOJ 模板题提交记录http://uoj.ac/submission/290654需要高超的推公式技巧。使用了叉姐的一份板子 ,侵删。#include &lt;bits/stdc++.h&gt;using namespace std;// double 精度对$10^9+7$ 取模最多可以做到$2^{20}$const int MOD = 1e6+3;const double P...原创 2018-10-07 21:36:55 · 481 阅读 · 0 评论