![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 68
heheda_is_an_OIer
这个作者很懒,什么都没留下…
展开
-
bzoj 2257 瓶子和燃料
首先能证明能倒出的最小值是这k个数的最大公约数。 好像是一个叫裴蜀定理的东西,说的是扩展欧几里德原理对于n个数同样适用。然后处理出每个数的约数,找最大的出现k次的元素。#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N原创 2015-11-16 10:39:29 · 471 阅读 · 0 评论 -
bzoj 4017 小Q的无敌异或
#include#include#include#include#include#define md 998244353#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 1000010using namespace std;int a[N],xr[N],s[2];bool c[2*N];ll sum[N];int原创 2015-11-16 10:39:21 · 572 阅读 · 0 评论 -
bzoj 1002 轮状病毒
终于把这个坑填了。开开心心的敲完了矩阵树,一交,wa了。翻hzwer题解,发现是矩阵树找规律+高精度。这个数据范围好骗人啊。于是乎我就写了今年第一道高精度。 f[i]=f[i-1]*3-f[i-1]+2,可以设出一个f[i]=af[i-1]+bf[i-2]+cf[i-3]+d,解出来系数。#include#include#include#include#include#define md#defi原创 2015-11-16 10:39:19 · 315 阅读 · 0 评论 -
bzoj 1042 硬币购物
预处理+1,-1容斥即可,还是想不明白spring为什么要×组合数#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 100010#define mxn 100000using namespace std;ll f[N原创 2015-11-16 10:38:53 · 565 阅读 · 0 评论 -
bzoj 1853 幸运数字
!x是x==0的意思!!!预处理出只含86的数字,利用容斥原理求解。#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 1000100using namespace std;ll q[N];bool tag[N];ll原创 2015-11-16 10:38:47 · 434 阅读 · 0 评论 -
bzoj 3503 和谐矩阵
答案有空格!答案有空格!答案有空格!重要的事情说三遍。然后就是各种打错变量名#include#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 50using namespace std;int lx[4]={-1,0原创 2015-11-16 10:38:24 · 453 阅读 · 0 评论 -
bzoj 3032 七夕祭 | 中位数
显然行和列的交换是独立的。无解就是没办法均分。然后就变成了那年直升生面试的题了,给定一个圈,每个人可以给左右两个人分东西,问给出东西的最小值。然后是白书P5的模型。#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 2原创 2015-11-16 10:39:58 · 697 阅读 · 0 评论 -
bzoj 3534 重建
矩阵树定理中邻接矩阵可以理解为那条边存在的概率是1,那么这道题邻接矩阵只要是概率就行了。然后再乱搞一下就行了没有搞明白相对误差和绝对误差……省选的时候说过多少遍?#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-10#define N 5原创 2015-11-16 10:39:24 · 375 阅读 · 0 评论 -
bzoj 3288 矩阵
行列式消元-》打表找规律,因为搜题的时候看到线筛,就疯狂的从线筛上找规律:f[p]=p-1f[p*i](i%p==0) =f[i]*pf[p*i](i%p!=0) =f[i]*f[p]据说这是Phi?我没看出来,也没有什么影响#include#include#include#include#include#define md 1000000007#define ll long long#defin原创 2015-11-16 10:39:16 · 333 阅读 · 0 评论 -
bzoj 4031 小z的房间
矩阵树定理是用于判断一个连通图的生成树个数,主要步骤如下:1.求出一个矩阵等于度数矩阵-邻接矩阵2.去掉最后一行、最后一列3.把这个矩阵高斯消元变成倒三角,记录交换次数4.把a[i][i]乘起来,再乘上(-1)^交换次数,就是生成树个数。我懒得去看证明了。这道题丧心病狂的模1e9,不能求逆元,用欧几里德原理来算答案。5x+……=03x+……=0=>3x+……=02x+……=0……很神奇,不是吗?然原创 2015-11-16 10:39:13 · 365 阅读 · 0 评论 -
bzoj 3198 spring
hash求出每一个子集相等的方案数,按照个数分类,用组合数减去。这道题的hash要管冲突,hzwer说过,hash冲突的概率是sqrt(md)的。wa了好久的原因是没有计算ans=0的情况。有没有大神告诉我为什么要用组合数,不能直接+1-1的加减#include#include#include#include#include#define md 1234567#define ll long lon原创 2015-11-16 10:38:55 · 839 阅读 · 3 评论 -
bzoj 3240 矩阵游戏
推出f[i][m]和f[i][1]关系式,就能知道f[i][j]和f[i-1][j]的关系式。求出f[n+1][1],-d 再/c即可注意等比数列等于1的情况#include#include#include#include#include#define md 1000000007#define ll long long#define inf (int) 1e9#define eps 1e-8#原创 2015-11-16 10:37:41 · 317 阅读 · 0 评论 -
bzoj 2728 与非 【找规律】 【位运算】 【数位dp】
通过与非运算可以组合出and和not,然后and和not可以组合所有的逻辑运算。所以只要有可能,没有表示不出来的数。但是如果所有数都满足st[i]=st[j] 那么这两位无论如何都相等。并查集维护所有相等的类别,数位dp还是不太熟练。01数位dp的本质是枚举所有的非0位,假设它是0,更新答案,然后把它设为1,求之后的答案。#include#include#include#in原创 2015-11-20 23:18:17 · 454 阅读 · 0 评论 -
bzoj 2242 计算器
数论裸题,只要会算法即可。膜拜了bsgs,注意以下几个点1.y要先模p,特判y=0,z=0情况2.y^x不要用快速幂求,累乘即可3.小步的时候不要忘*z#include#include#include#include#include//#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 10000原创 2015-11-16 10:38:21 · 306 阅读 · 0 评论 -
bzo j3122: [Sdoi2013]随机数生成器
这道题不难想,难的是分类讨论。先是最一般的情况推出公式套用bsgs。 这个要求答案>1且a!=1(等比数列的分类讨论)且a!=0(0没有逆元)所以第一种情况a!=1 a!=0 ans=1第二种情况 a!=1 a!=0 ans!=1如果a=1,第一种情况ans=1第二种情况 ans!=1 b=0 (0没有逆元)第三种情况 ans!=1 b!=0如果a=0,a1=t原创 2015-11-28 22:29:34 · 453 阅读 · 0 评论