自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 P2059 [JLOI2013]卡牌游戏

概率dp.f[i][j]表示第i轮第 j个人获胜的概率。我们可以枚举每一个牌,求出淘汰位置c ,有3种情况。c=j,无需考虑。c<j,则f[i][j]=f[i][j]+f[i-1][j-c]/m;c>j,f[i][j]=f[i][j]+f[i-1][i-c+j]/m;#include <cstdio>double f[1001][1001];int a[...

2019-10-16 10:01:17 154

原创 洛谷 P2519 [HAOI2011]problem a

题目首先,我们可以算出此分数的最高排名和最低排名,即 ai+1,n-bi;然后根据题意我们可以明显去除一定错误的情况。人数超过n:ai+bi+1>=n; 在[l,r]的人数超过 l-r+1。我们再考虑区间不完全重合的情况,[a,b],[b,c],根据题意可知a=b>c&&a>b=c,冲突。但区间完全重合是有可能的。之后 我们可以按照右端点...

2019-10-14 09:00:26 150

原创 洛谷 P2085 最小函数值

#include<iostream>#include<cstdio>using namespace std;const int maxn=10010;int a[maxn],b[maxn],c[maxn],f[maxn];int n,m,i,j,minn,x;int main(){ cin>>n>>m; for(i=1...

2019-10-06 16:31:14 170

原创 洛谷 P2278 [HNOI2003]操作系统

#include<iostream>#include<cstdio>#include<queue>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;struct node{ int id,st,re,pr; boo...

2019-10-06 16:21:49 157

原创 洛谷 P4822 [BJWC2012]冻结

#include<iostream>#include<cstdio>#include<queue>#include<cstring>#include<algorithm>using namespace std;const int maxn=3e6;int read(){ int sum=0;char ch=getcha...

2019-10-06 16:20:56 123

原创 洛谷 P4568 [JLOI2011]飞行路线

#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;const int maxn=4e6;int read(){ int sum=0;char ch=getcha...

2019-10-06 16:20:14 105

原创 洛谷 P2939 [USACO09FEB]改造路Revamping Trails

#include<iostream>#include<cstdio>#include<queue>#include<cstring>#include<algorithm>using namespace std;const int maxn=3e6;int read(){ int sum=0;char ch=getcha...

2019-10-06 16:19:17 145

原创 洛谷 P1984 [SDOI2008]烧水问题

#include<iostream>#include<cstdio>using namespace std;double ans=0,s;int n;int main(){ cin>>n;s=420000.00/n; for(int i=1;i<=n;i++) { ans+=s; s*=(1-0.5/i); } printf(...

2019-10-06 16:17:42 97

原创 洛谷 P5367 【模板】康托展开

题目首先我们要知道康托展开的公式:即∑(rand(a[i])-1)*(n-i)!(1<=i<=n)(rand(i)表示i在之前序列中未出现的第几个)(n-i)!我们可以用O( n)的复杂度预处理出来。辣么rand(i),我们怎么求呢?如果暴力枚举铁定超时。我们想想可以用什么来查找,我们可以用树状数组来查询(看算法标签)。#include<iostream>#i...

2019-05-12 17:41:05 318

原创 洛谷 P2158 [SDOI2008]仪仗队

题目裸欧拉函数#include<iostream>#include<cstdio>using namespace std;int ans;int phi[41000];int prime[41000];int v[41000];int n,t;int main(){ cin>>n; phi[1]=phi[0]=1; for(int i...

2019-05-12 17:05:05 115

原创 洛谷 P2842 LJJ算数

题目#include<iostream>#include<cstdio>using namespace std;typedef long long ll;const ll P=1000000007;ll a,b;ll kuaisumi(ll x,ll y,ll p){ x=x%p; ll sum=1; while(y) { if(y%2) sum...

2019-05-12 17:03:56 183

原创 洛谷 P1414 又是毕业季II

题目#include<iostream>#include<cstdio>using namespace std;const int inf=1e6+10;int n,maxx;int w[inf];int ans[inf];int main(){ cin>>n; for(int i=1;i<=n;i++) { int x; ...

2019-05-12 17:02:54 185

原创 洛谷 P4079 [SDOI2016]齿轮

题目带权并查集#include<iostream>#include<cstdio>#include<cmath>#define eps 1e-9;using namespace std;const int maxn=1100;int t,n,m,bo;int f[maxn];double g[maxn];int find(int x){...

2019-05-12 17:01:29 198

原创 洛谷 P1020 导弹拦截

题目#include<iostream>#include<cstdio>using namespace std;const int maxn=1000100;int st[maxn],a[maxn];int main(){ int t=0,num=0; while(scanf("%d",&a[++num])!=EOF); num...

2019-05-12 16:59:35 307

原创 洛谷 P2480 [SDOI2010]古代猪文

题目不得不说这题目的废话真多。有用的就几句。根据题意可以到的这个题让我们求因为999911659是质数(可以自己写个程序验证一下)。所以我们可以用费马小定理ap-1mod p=1(a,p互质),所以要先特判g,p是否互质。这样我们就可以将问题转换成;而上面的质数不由让我们想到可以用lucas定理来做,但直接用肯定gg,所以我们可以将999911658 分解成较小的互质的数的成...

2019-05-12 10:51:31 171

原创 洛谷 P1439 【模板】最长公共子序列

题目看了一下数据范围,n2 做法肯定超时。所以仔细看看题目中有什么隐含条件。它们都是(1~n)的数列。我们可以画一个图来看看它们之间的对应关系。不难看出找他们的最长公共子序列,就是找他们之间不相交直线的最大数目,很明显,如果要想不相交,序列a在b中的对应应是单调递增的。这样我们就可以将问题转换成最长上升子序列了。#include<iostream>#include<...

2019-05-11 16:52:48 180

原创 洛谷 P1579 哥德巴赫猜想(升级版)

#include<iostream>#include<cstdio>using namespace std;const int maxn=21000;bool f[maxn];int n;int main(){ cin>>n;f[0]=f[1]=1; for(int i=2;i<=n;i++) { if(!f[i]) for(...

2019-05-11 15:01:55 182

原创 洛谷 P1088 火星人

题目我们可以把一这个数字写成类似进制的形式,加上m后在将其转成答案。我们拿一组数模拟一下。3 5 4 1 23在{1,2,3,4,5}中为第3种,所以为2。5在{1,2,4,5}中为第4种,为3。4在{1,2,4}中为第3种,为2。1在{1,2}中为第1中,为0。2在{2}中为第1中,为0。所以我们可以将其转换成(23200), 在转换的过程中不难发现,第i种的进制为(n-i+1)...

2019-05-11 15:00:42 178

原创 洛谷 P1757 通天之分组背包

题目#include<iostream>#include<cstdio>#include<vector>using namespace std;const int maxn=2000;int w[maxn],v[maxn],f[maxn];vector<int >g[200];int n,m;int main(){ cin&gt...

2019-05-11 14:45:01 105

原创 洛谷 P1776 宝物筛选_NOI导刊2010提高(02)

题目多重背包的模板。#include<iostream>#include<cstdio>using namespace std;const int maxn=1e5+10;int read(){ int res=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-')f=...

2019-05-11 14:43:45 149

原创 洛谷 P1466 集合 Subset Sums

题目#include<iostream>#include<cstdio>using namespace std;typedef long long ll;ll n,m;ll dp[10001000];int main(){ cin>>n;m=(n*(n+1))/2; if(m%2) { cout<<0;return 0; ...

2019-05-11 14:41:56 219

原创 洛谷 P4513 小白逛公园

题目单点修改,区点查询。用线段树做。第一个结构体。node{sum,lm,rm,mmax};sum表示这段的和,lm表示最大左子串,rm表示最大右子串,mmax表示最大子串。为什么要这样表示呢?我们模拟一下线段树更新答案的情况。如果下面两段都知道。推上面的段,它的最大子串,应有三种情况:在mid左边,在mid右边,在中间,如果在中间,就需要知道左段的最大右子串,右段的最大左子串。求...

2019-05-11 14:39:55 163

原创 Bzoj 2054: 疯狂的馒头

题目我们先想一想暴力模拟,算出l,r,染色,最后输出,很明显会超时。想一下每个点的最终颜色仅与它最后一次被染色的情况决定,这就是NOIP2011D1T1铺地毯复杂版。我们可以用倒序将并查集将从左向右将点连起来。#include<iostream>#include<cstdio>using namespace std;const int maxn=1000100;...

2019-05-10 16:30:26 145

原创 洛谷 P1197 [JSOI2008]星球大战

如果按模拟的思路,删一个点,判断连通性,时间上是肯定不允许的,我们不妨倒着思考一下,正着删边等于倒着加边,可以从第K个数开始往图里加边。设变量num为联通块的个数,如果加边过程中,两个不同的并查集,连在了一起,num–。每加一点,num++;#include<iostream>#include<cstdio>using namespace std;const in...

2019-05-10 16:01:25 113

原创 清北5

1.三角形。方法一:组合数:先假设所有的直线都不平行,则答案为C(n,3)。当然肯定有平行的直线,我们把所有平行的直线看做一组,将每组平行线的数量统计出来,如果有一组数量num[i]==2,那么这两个平行线和剩下的所有直线都不能组成三角形,从总答案中减去C(n-2,1);若num[i]>2,则除了前面一种情况不合法之外,从这里面选出来的三条也是不合法的。即减去C(num[i],3...

2019-05-09 15:52:30 238

原创 number

1.暴力枚举,求出所有的数,sort排序,复杂度是O(nm ㏒ nm),大约能过4个点。2.二分答案,判断有多少小于它的数,如果小于它的数小于k,记录答案,更改l;#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;...

2019-05-09 15:31:04 84

原创 dwarf tower

正这搜一遍,倒这搜一遍#include<iostream>#include<cstdio>using namespace std;const int maxn=1e5+10;int read(){ int res=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-') f...

2019-05-09 11:10:01 161

原创 清北1

T1:算等比数列的求和公式求x1 + x2 +…+xm。#include<iostream>#include<cstdio>using namespace std;typedef long long ll;const ll p=1e9+7;inline int read(){ int res=0,f=1; char ch=getchar(); whil...

2019-05-07 15:34:33 252

原创 清北4

T1:transact贪心策略:将耐心度小的放前边,耐心度相同的,将需要时间小的放前面。最后计算每人的不满意度。#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int maxn=101000;typedef long long ll;...

2019-05-07 14:51:23 88

原创 清北3

T1tile列方程 ax/b=cy/d,adx=bcy,化简令x=化简后的值,输出a*x/b。#include<iostream>#include<cstdio>using namespace std;typedef long long ll;ll read(){ ll res=0,f=1; char ch=getchar(); while(ch&lt...

2019-05-07 08:01:24 85

原创 洛谷 P1071 潜伏者

题目将题目进行总结:输入:第一行:密文;第二行:明文;第三行:所破译的密文;再列下需输出“Failed”的情况:1.26个字母没有全部出现。2.一个密文有多个明文。3.一个明文有多个密文。判断所有情况后输出破译答案。#include<iostream>#include<cstdio>#include<cstring>using name...

2019-05-06 17:37:53 96

原创 洛谷 P1603 斯诺登的密码

题目先将题目的所有情况打个表,在将每个情况所对应的数字存到另一个数组。因为总共6个单词所以直接暴力判断有没有就可以。然后考虑一个贪心的思想:从小到的大给所有的数字排序,所组成的数字应是最小的。剩下的处理输出就可以了。#include<iostream>#include<cstdio>#include<cstring>#include<alg...

2019-05-06 16:49:39 156

原创 洛谷 P1309 瑞士轮

第一种方法:直接用sort函数暴力,最后开O(2);#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int maxn=210000;int read(){ int res=0,f=1; char ch=getchar(); whil...

2019-05-06 10:57:52 148

原创 清北2

当有26个字母中有25个知道,则剩下的那个也知道。#include<iostream>#include<cstdio>#include<cstring>using namespace std;char a[1100];char b[1100];char c[30];char d[1100];bool e[30];char ans[1100];...

2019-05-05 17:49:47 197

原创 P1006 传纸条

#include<iostream>#include<cstdio>using namespace std;/*int a[60][60];int f[60][60][60][60];int m,n;int Max(int a,int b,int c,int d){ int x=max(a,b),y=max(c,d); return max(x,y);...

2019-05-03 17:39:37 173

原创 P1162 填涂颜色

#include<iostream>#include<cstdio>using namespace std;int a[50][50];int b[50][50];int n,h,t=1;int q1[2000];int q2[2000];int f[4][2]={{1,0},{-1,0},{0,1},{0,-1}};int main(){ cin&g...

2019-05-03 17:37:56 130

原创 P1443 马的遍历

#include<iostream>#include<cstdio>using namespace std;int n,m,x,y;int a[500][500];bool vis[500][500];int f[8][2]={{2,-1},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2},{1,-2}};int q1[200...

2019-05-03 17:36:34 110

原创 P3375 【模板】KMP字符串匹配

#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1000100;char a[maxn],b[maxn];int p[maxn],n,m;void firstdeal(){ p[1]=0; int j=0; for(i...

2019-05-03 17:35:17 128

原创 P2580 于是他错误的点名开始了

#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=100000;int ch[maxn][27],n,m,tot;bool bo[maxn];void insert(char *s){ int len=strlen(s); ...

2019-05-03 17:34:14 104

原创 洛谷 P3808 【模板】AC自动机(简单版)

惊!!!结构体里居然可以定义函数;#include<iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;const int maxn=500010;queue<int>q;struct ac{ int c[maxn][...

2019-04-30 17:36:49 73

空空如也

空空如也

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

TA关注的人

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