自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 请移步新博客

新博客在这

2017-11-26 19:39:01 254

原创 luogu3811 乘法逆元

线性推逆元。 pp是质数。首先显然有1×1−1≡1(mod p)1\times1^{-1}\equiv1(\mathrm{mod}\ p) 然后强行p=ki+rp=ki+r,其中ii是我们想求的逆元。 有ki+r≡0(mod p)ki+r\equiv0(\mathrm{mod}\ p),同乘i−1r−1i^{-1}r^{-1},得 kr−1+i−1≡0(mod p)kr^{-1}+i^{-1

2017-11-09 10:08:25 181

原创 luogu1472 奶牛家谱 Cow Pedigrees

十分巧妙的方法!也是看了题解才知道的。 我们自然地设出dp[i][j]表示用ii个点构成深度为jj的树的方案数,但是这样想转移似乎不太好啊…… 那就设dp[i][j]表示用ii个点构成深度小于等于jj的树的方案数,这样转移就十分方便了:给左子树分多少,给右子树分多少,计数原理搞一下就是了。 答案是dp[n][k]-dp[n][k-1]。#include <iostream>#include

2017-11-08 16:56:51 203

原创 luogu1020 导弹拦截

#include <algorithm>#include <iostream>#include <cstring>#include <cstdio>using namespace std;int a[100005], n, dp[100005], cnt;bool cmp1(int x, int y){ return x>=y;}int main(){ while(s

2017-11-07 16:37:18 237

原创 一些候选题

递推hdu5500 reorder the books

2017-11-06 20:03:14 181

原创 hdu5500 Reorder the Books

题意给定你一个编号从11到nn的序列,每次可以从尾部抽取一个元素放到首部,问你达到升序的最小操作次数。题解我们想,要是有这样一段编号从kk到nn的子序列,那么这些子序列就不用取出了,否则就要取出来然后放回去。#include <iostream>#include <cstdio>using namespace std;int t, n, a[23];int main(){ cin>>

2017-11-03 22:02:42 188

原创 第一届&第二届“幻想杯”NOIP模拟赛 标程

实在懂不了的话直接来1601找chenyixiao,或者是在lfyzoj上发私信,或者是在luogu上发私信。灵梦的宴会#include <algorithm>#include <iostream>#include <cstdio>using namespace std;struct Odge{ int too, fro, val;}odge[1000005];struct Ed

2017-11-02 08:42:23 248

原创 luogu1625 求和

蒟蒻也能写出来的AC代码!显然题目是让求0!m!+1!(m+1)!+2!(m+2)!+⋯+(n−1)!(m+n−1)!\frac{0!}{m!}+\frac{1!}{(m+1)!}+\frac{2!}{(m+2)!}+\cdots+\frac{(n-1)!}{(m+n-1)!} 易通分为0!(m+n−1)!m!+1!(m+n−1)!(m+1)!+⋯+(n−1)!(m+n−1)!(m+n−1)!(m

2017-10-28 09:36:30 173

原创 luogu1624 单词缩写

蒟蒻也能写出来的AC代码!这题好坑啊QAQ,我写的时候输入写了一个小时,too many or too few lines又调了好久好久,状态转移方程还是抄的书。设计状态转移方程的时候,如果是根据已知求当下会比较难设计,如果根据已知更新未知就相对好设计一些。我们拿 dp[i][j][k]\ dp[i][j][k] 表示做到缩写中的前 i\ i位,单词中的前 j−1\ j-1个单词外带第 j\ j个

2017-10-27 21:15:17 241

原创 虫洞

题目描述N个虫洞,M条单向跃迁路径。从一个虫洞沿跃迁路径到另一个虫洞需要消耗一定量的燃料和1单位时间。虫洞有白洞和黑洞之分。设一条跃迁路径两端的虫洞质量差为delta。1.从白洞跃迁到黑洞,消耗的燃料值减少delta,若该条路径消耗的燃料值变为负数的话,取为0。2.从黑洞跃迁到白洞,消耗的燃料值增加delta。3.路径两端均为黑洞或白洞,消耗的燃料值不变化。作为压轴题,自然不会是如此简单的最短路问题

2017-10-23 11:46:22 527

原创 luogu1412 经营与开发

蒟蒻也能写出来的AC代码!其实刚拿到这道题是我是不会做的……因为我惯性思维了,老是想着从1推到n,但是这样是有后效性的。不过,正难则反,既然从1到n有后效性了,那么我们想着从n推到1。可以看出来一个星球选择与否对后面的影响是成比例的,也就是说只是系数的差别。举个例子,第i个是资源型,我们可以搞出dp[i+1](代表从i+1开始选,1~i一概略过)的最大金钱数,钦定第i个开始选的系数为1,那么dp[i

2017-10-20 17:00:50 223

原创 luogu3375 kmp算法模板

#include <iostream>#include <cstring>#include <cstdio>using namespace std;char a[1000005], b[1005];int lena, lenb, nxt[1005];void makenext(){ int k=0; for(int i=2; i<=lenb; i++){

2017-10-06 19:07:47 176

原创 luogu2679 noip2015 子串

我看了各位大佬的题解花了一个小时才弄懂…… 事实上这篇题解和网上的其他的差不多,或许使您更好理解。 我们先明确一下,子串是连续的。 然后拿到这道题,我们一看就是dp。 我们先创造一个数组, dp[i][j][t]\ dp[i][j][t]表示在a串前i个(下标从一开始)中搞出k个子串与b串前j个匹配的总方案数。 可以想到,它由第i个不选与第i个选上转移来,于是我们再定一个数组, f[i][

2017-09-29 08:38:26 319 1

原创 luogu1967 货车运输

似乎是什么最大瓶颈路径(顾名思义),它存在于最大生成树中。 证明: 如果最大瓶颈路径不存在与最大生成树中。 这些不在最大生成树中的边会和最大生成树形成环。 我们删掉环上最小的边,保留这一条边,会得到一棵新的更大的生成树。 这与原来那棵树是最大生成树矛盾了。 注意,最短路不一定在最小生成树上(如一个环的情况) 摘自洛谷题解。作者crf1596028912,摘自高天宇

2017-09-28 19:40:19 274

原创 luogu3379 最近公共祖先(LCA) tarjan 倍增

读入优化使OJ快乐!tarjan不多言#include <iostream>#include <cstdio>using namespace std;struct Edge{ int too, nxt;}edge[1000005];struct Ques{ int nxt, too, ran;}ques[1000005];int getint(){ char c

2017-09-28 17:17:28 228

原创 luogu1993 小 K 的农场

差分约束。

2017-09-28 15:06:35 287

原创 luogu1414 又是毕业季II

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-09-27 17:19:20 241

原创 noip2009 luogu1072 Hankson的趣味题

变量x。 已知  gcd(x,a0)=a1\ gcd(x,a0)=a1, lcm(x,b0)=b1\ lcm(x,b0)=b1即 gcd(x,b0)=xb0lcm(x,b0)=xb0b1\ gcd(x,b0)=\frac{xb0}{lcm(x,b0)}=\frac{xb0}{b1}。 化简得 gcd(xa1,a0a1)=1\ gcd(\frac{x}{a1},\frac{a0}{a1})=1,

2017-09-27 09:49:58 242

原创 luogu1516 POJ1061 青蛙的约会

研究同余方程。 先上代码。#include <iostream>#include <cstdio>using namespace std;long long k, s;long long exgcd(long long a, long long b){ if(b==0){ k = 1; s = 0; return a; }

2017-09-26 21:13:29 234

原创 高精度乘法与高精度除低精度

惨痛的教训高精除低精写萎了Hint operator * (const int &a){ Hint re; int jw=0; for(int i=1; i<=len; i++) re.num[i] = num[i] * a; for(int i=1; i<=len; i++){ re.n

2017-09-26 19:14:49 472

原创 分解

写着玩的#include <iostream>#include <cstring>#include <cstdio>using namespace std;bool isp[200005];struct node{ int num, ci;}zhi[200005];int cnt;void shai(){ for(int i=2; i*i<=200000; i++)

2017-09-20 22:03:25 196

原创 堆的两种写法

2017-09-16 20:54:57 586

原创 luogu3374 3368树状数组

引人入胜

2017-09-16 16:14:48 262

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除