自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 hdu 1007 Quoit Design 题解

原题地址题目大意查询平面内最近点对的距离,输出距离的一半。暴力做法枚举每一个点对的距离直接判断,时间复杂度是 $ O(n^2) $,对于这题来说会超时。那么我们考虑去优化这一个过程,我们在求距离的过程中其实有很多的计算是没有必要的,比如已经有一个暂时的最小值 $ d $,如果有 $ dis>d $,那么这个 $ dis $ 是没有贡献的,那么我们怎么除去这些不必要的答案呢...

2019-09-16 16:20:00 281

转载 手写堆

堆1.定义堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。2.性质1.堆中某个节点的值总是不大于或不小于其父节点的值;2.堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。堆是非线性数据结构,相当于一维数组,有两个直接后继。3.应用思路(手写堆)...

2019-09-07 16:54:00 453

转载 yzoj P1126 塔 题解

题意:给n个积木,搭成两个高度相同的塔,问最高高度正解是dp答案在dp[n][0]代码#include<bits/stdc++.h>using namespace std;int f[2][1000050],n,a[51],ans;int main(){ memset(f,-0x3f,sizeof(f)); scanf("%d",&n...

2019-08-27 10:39:00 281

转载 yzoj P2043 & 洛谷 P1282 多米诺骨牌 题解

题意类似于就是背包。解析代码跟解析有点不一样v[i]价值,w[i]重量,s背包容积,背包转移即可。#include<bits/stdc++.h>using namespace std;const int maxn=1e4+5; int n,s,x,y,tot,ans;int v[maxn],w[maxn],dp[maxn];int main(){ ...

2019-08-27 10:37:00 251

转载 yzoj P2044 数字游戏 题解

题意dfs骗了30分,一开始想的距离正解差一点啊,贪心加dp就可以过的水题,真正太蒻了解析代码#include<bits/stdc++.h>using namespace std;struct node{ int x; int y;}a[210];int m,n,k;int f[210][210];bool book[210];lon...

2019-08-27 10:35:00 147

转载 yzoj P2045 不老的传说 题解

题意类似于涂色问题,环形问题不多说,断环加倍即可,限制条件if判断就行。解析代码#include<bits/stdc++.h>using namespace std;int n,c,p,a[410];int f[410][410],ans=1<<30;int main(){ scanf("%d %d %d",&n,&...

2019-08-27 10:32:00 127

转载 yzoj P1948 取数字问题

题意sb题目,不多说,爆搜就能过。代码#include<bits/stdc++.h>using namespace std;int n,m,ans=1<<30,a[15][15];void dfs(int x,int y,int data){ if(x==n&&y==m){ if(data>0){ ...

2019-08-27 10:28:00 143

转载 NOIP 2016 愤怒的小鸟 题解

一道状压dp题,但是竟然可以搜索搜过!!(儒雅随和)。代码(爆搜)#include<bits/stdc++.h>using namespace std;const double eps=1e-8;int T,n,m,ans;double x[25],y[25],a[25],b[25];bool book[25];bool cheak(double a,do...

2019-08-27 10:26:00 187

转载 NOIP 2016 蚯蚓 题解

一道有趣的题目,首先想到合并果子,然而发现会超时,我们可以发现首先拿出来的切掉后比后拿出来切掉后还是还长,即满足单调递增,故建立三个队列即可。代码#include<bits/stdc++.h>#define p u/vusing namespace std;long long n,m,len,t,a,u,v;const int maxn=1e7+10;int ...

2019-08-27 10:25:00 140

转载 NOIP 2016 组合数问题 题解

一道sb题目,注意范围,可打表解决,打出杨辉三角,在用前缀和求解即可代码(一维前缀和)#include<bits/stdc++.h>using namespace std;int n,m,t,k,ans,a[2010][2010],b[2010][2010];int main(){ scanf("%d %d",&t,&k); a[...

2019-08-27 10:23:00 156

转载 [HNOI2002]沙漠寻宝 题解

一道大模拟代码#include <cstdio>#include <iostream>#include <cstring>#include <string>using namespace std; string st[1010];int value[26];int f,o,s,i;int p[1010],num[101...

2019-08-27 10:22:00 399

转载 洛谷 P1666 前缀单词 题解

题意:给n个单词,如果单词a为单词b的前缀则a,b不能共存,问能共存的集合数(包括空集)一道dp题,排序后判断,f[i][j]表示i和j是否能共存,f[i][j]=1表示能共存,初始化dp[i]=1,表示只有i一个单词,dp[i]表示前i个单词且一定含有第i个单词的集合数,如果f[i][j]=1,则dp[j]+=dp[i] (size(j)>=size(i))代码#inclu...

2019-08-27 10:21:00 154

转载 洛谷P1661 & yzoj 1650 扩散 题解

题意先讲一下一种容易陷入误区错误思路要使时间最小,就去找相对于每个点的最短曼哈顿距离,然后取最大值,时间就是(maxn+1)/2。代码#include<cstring>#include<algorithm>#include<cmath>#include<cstdio>#include<iostream>#de...

2019-08-27 10:19:00 132

转载 NOIP 2005 等价表达式 题解

题意给一个表达式然后再给n个表达式,判断是否等价一道大模拟题,将a带为数,并且取模防止溢出#include<bits/stdc++.h>using namespace std;const int mod=10007;char w[55],c[55];int a[100],t1,t2,x,n;long long ans[5],c1[55],c2[55],c3[5...

2019-08-27 10:16:00 245

转载 yzoj P2343 & 洛谷 P1437 [HNOI2004]敲砖块

题意在一个凹槽中放置了N层砖块,最上面的一层油N块砖,从上到下每层一次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如图所示。如果你想敲掉第i层的第j块砖的话,若i=1,你可以直接敲掉它;若i>1,则你必须先敲掉第i-1层的第j和第j+1块砖。你现在可以敲掉最多M块砖,求得分最多能有多少。一道dp题,一开始想到的是一行一行dp然而发现,选[ i , j ]...

2019-08-27 10:14:00 144

转载 yzoj P1412 & 洛谷P1629 邮递员送信 题解

有一个邮递员要送东西,邮局在结点1。他总共要送N-1样东西,其目的地分别是2~N。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间。这个邮递员每次只能带一样东西。求送完这N-1样东西并且最终回到邮局最少需要多少时间。很容易发现我们要求 \(\sum_{j=1}^n\) dis[1][ j ]+dis[ j ][1],可以想到跑spfa,对于...

2019-08-27 10:09:00 297

转载 [USACO07OCT]障碍路线 & yzoj P1130 拐弯 题解

题意给出n* n 的图,A为起点,B为终点,* 为障碍,.可以行走,问最少需要拐90度的弯多少次,无法到达输出-1。解析思路:构造N * M * 4个点,即将原图的每个点分裂成4个点。其中点(i,j,k)表示在(i,j)时人的方向是k,然后对于两个点(i,j,k)和(i,j,kk),如果k和kk是两个旋转90度能转换的方向,就连一条边权为1的边,而对于(i,j,k)和(i+dx[ ...

2019-08-27 10:00:00 216

转载 yzoj P1122 阶乘 题解

T组数据,给出N,求出N!最右边非零的数。对于30%的数据,N <= 30,T<=10。对于全部的数据,N <= 10^2009,T<=30。一道数学题解析N!/(10^x)最后一位数字即是结果。10^x进行拆分,变成5^x* 2^x。怎么除以5^x呢,好办,乘的时候含有5的倍数的一项全部不乘进去,再递归此过程。即1 2 3 4 (15) 6 7 8 ...

2019-08-27 09:58:00 157

转载 yzoj P2344 斯卡布罗集市 题解

共t条街对于每一条街上有n个店铺(n可能不相同),每次只能选两端第一个营业的店铺采购,采购第i个店铺会获得幸福度ai,采购完后,这个店铺和它相邻的店铺便会关门,问最大幸福度?考场想了一下dp,一开始想一维但发现不好处理,二维参数也没有想出来,于是便开始了我的暴力瞎搞之旅,我随手写了几个例子发现对于n为奇数无论怎么采购,幸福度是固定的为a1, a3 , a5........an于是便可以...

2019-08-27 09:52:00 232

转载 yzoj P2350 逃离洞穴 题解

题意跑两边spfa的水题,注意判断有人才取最大值代码#include<bits/stdc++.h>using namespace std;inline int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') ...

2019-08-27 09:47:00 186

转载 yzoj P2349 取数 题解

题意1到n个自然数中选k个自然数要求两两不相邻,问有多少种方法,模meg(1 3 5 )又是一道打表规律题,正常解法dp可以通过前缀和优化到O(N* K)。另外我们可以重新定义F[I,J]表示从1到I中选择J个不连续数的方案数。通过考虑I选还是不选来进行状态转移。1.如果不选I:则方案数为F[I-1,J];2.如果选I:由于不能选相邻两个数,所以I-1不能选,则剩余的J-1个数...

2019-08-27 09:45:00 168

转载 JXOI 2017 颜色 题解

T3 颜色 100/100对于这题由于数据范围小,有一种神奇的做法,我们可以把每个值随机赋值,但是保证相同颜色的和为0,就代表消去了这个颜色,我们只要取寻找合法区间就行,合法区间的寻找只要找相同前缀和就行,因为相同前缀和之间这一段为0,也就代表这一段是合法区间。代码#include<bits/stdc++.h>#include<ctime>using n...

2019-08-27 09:42:00 205

转载 NOIP 2009 最优贸易 题解

一道最短路的题,找一个买入和卖出相差最高的点即可,我们先以1为起点跑spfa,d1[x]不再表示距离而表示能够经过权值最小的节点的权值即if(d1[y]>min(d1[x],price[y])){ d1[y]=min(d1[x],price[y]); if(!v[y]) q.push(y),v[y]=1;}我们在建反图,对于n点再跑spfa,算出最大值即...

2019-08-27 09:39:00 169

转载 CH 4302 Interval GCD 题解

题意给定一个长度为N的数列A,以及M条指令 (N≤5* 10^5, M<=10^5),每条指令可能是以下两种之一:“C l r d”,表示把 A[l],A[l+1],…,A[r] 都加上 d。“Q l r”,表示询问 A[l],A[l+1],…,A[r] 的最大公约数(GCD)。由《九章算术》中的更相减损我们知道gcd(x,y)=gcd(x,y-x)同理可以推到多个整数。(...

2019-08-27 09:38:00 523

转载 CH4301 Can you answer on these queries III 题解

给定长度为N的数列A,以及M条指令 (N≤500000, M≤100000),每条指令可能是以下两种之一:“2 x y”,把 A[x] 改成 y。“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 max(x≤l≤r≤y)⁡ { \(\sum_{i=l}^r\) A[i] }。对于每个询问,输出一个整数表示答案。一道模板题,线段树的区间最大子段和。代码#includ...

2019-08-27 00:53:00 175

转载 我太难了

转载于:https://www.cnblogs.com/donkey2603089141/p/11415920.html

2019-08-27 00:49:00 120

转载 树状数组模板

树状数组 1 单点修改,区间查询这个没啥好讲的,修改加查询即可,查询时利用前缀和相减即可。代码#include<bits/stdc++.h>using namespace std;const int maxn=1000010;int n,q,u,v,k,a[maxn];long long c[maxn];int lowbit(int x){ ret...

2019-08-27 00:16:00 96

转载 题解 洛谷P1196 【[NOI2002]银河英雄传说】

题意有一个划分成n列的星际战场,各列编号为1,2.....n。有n艘战舰,也依次编号1,2.....n,其中第i号战舰位于第i列。有m条指令,每条指令格式如下M i j 表示让第i号战舰所在列的全部战舰保持原有顺序,接在第j艘战舰的尾部。C i j 表示询问第i艘战舰和第j艘战舰当前是否再同一列中,如果再同一列中,它们之间隔了多少艘战舰。N<=30000,M<=...

2019-08-26 22:31:00 225

转载 poj 2352 & Ural 1028 数星星 题解

一道水题,由于x坐标递增y坐标也递增于是前缀和统计即可,用树状数组实现。#include<bits/stdc++.h>using namespace std;const int maxn=15010;const int maxx=32010;inline long long read(){ long long x=0,f=1; char ch=ge...

2019-08-26 22:29:00 247

转载 棋盘覆盖 题解

给出一张n* n(n< =100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1* 2的多米诺骨牌进行掩盖。可转换为二分图最大匹配。```cpp代码#include<bits/stdc++.h>using namespace std;const int maxn=10010;int cx[4]={1,0,0,-1};int cy[4]={0,1,-...

2019-08-26 22:25:00 604

转载 2015 JSOI冬令营训练 彩色格子 题解

解析棋盘上黑白格染色。曼哈顿距离偶数:奇偶性相同。枚举有几种颜色分到白格,组合数计算即可。注意预处理,时间还是比较宽裕的。为了不重复计数,考虑枚举严格用了i种颜色,我们再枚举分配j种给白集合。设白集合、黑集合大小分别为s1,s2,那么这种分配方案对答案的贡献为 \(C^k_i\) \(C^k_i\) \(f_{s1,j}\) \(f_{s2,i-j}\) \(j!\) \((...

2019-08-26 22:23:00 164

转载 题解 UVA12716 GCD等于XOR GCD XOR

规律题,打表找规律即可发现a xor b >= a - b >= gcd(a, b),如果 a xor b = gcd(a, b) = c 则 c = a - b枚举倍数c和a判断b即可但是我主要想讲的是这道题要注意的,就是在跑循环时,一定要注意数组是否越界,比如int a[maxn]; scanf("%d",&T); for(int i=1;i&l...

2019-08-26 22:20:00 199

转载 第一篇博客

今天开通了博客园的博客,在弄主页弄了半天之后,终于弄完,文章也传过来了,也算还行。以后洛谷的博客和博客园的都会更新。可能博客园会用的更多些,就这样吧。转载于:https://www.cnblogs.com/donkey2603089141/p/11415370.html...

2019-08-26 22:09:00 73

转载 2019.8.26 小结

T1 GCD和XOR 100/100题意规律题,打表找规律即可发现a xor b >= a - b >= gcd(a, b),如果 a xor b = gcd(a, b) = c 则 c = a - b枚举倍数c和a判断b即可代码#include<bits/stdc++.h>using namespace std;const int maxn=...

2019-08-26 22:08:00 69

转载 2019.8.24 小结 (关于树状数组,线段树小结)

---恢复内容开始---题目是2017的JXOI题,博客放下链接T1 数列 40/0一道dp题,正解解析在来的路上,考场敲的dfs结果爆了?后面发现有个地方把x写成了i(黑人问号)就放下dfs吧#include<bits/stdc++.h>using namespace std;const int mod=998244353;int n,a[60],s[60];...

2019-08-26 21:13:00 88

转载 一些好文章

常系数齐次线性递推转载于:https://www.cnblogs.com/donkey2603089141/p/11415033.html

2019-08-26 21:13:00 107

转载 2019.8.25 小结

T1 营业额统计题意找前面和这个数相差最小的数,累计差值。一道大水题!!本来想打打暴力骗骗分的没想到就过了?(雾)代码cpp #include<bits/stdc++.h> using namespace std; inline int read(){ int x=0,f=1; char ch=getchar(); while(ch<'...

2019-08-26 21:13:00 96

转载 2019.8.23 小结

题目是2017的JXOI题,博客放下链接T1 数列 40/0一道dp题,正解解析在来的路上,考场敲的dfs结果爆了?后面发现有个地方把x写成了i(黑人问号)就放下dfs吧#include<bits/stdc++.h>using namespace std;const int mod=998244353;int n,a[60],s[60];long long an...

2019-08-26 21:12:00 89

转载 宜中食堂游记

2019.8.21据说食堂翻新了?有空调!电梯!电视!桌椅都变高级了?今天和某张姓男子心血来潮,决定来食堂验证一下QQ空间内食堂的模样。一进食堂门一阵清凉的微风便吹了过来!(居然有空调!!)门口的小熊很可爱啊,桌椅比网班还要高级!灯光也很棒,这哪里是一个三线城市的学校食堂,环境比我们上次去的南昌大学感觉还要好啊!趁还没有开学,人不多,多享受一下 开学就要人挤人了 ,转头发现居...

2019-08-26 21:11:00 108

转载 2019.8.21小结

T1 斯卡布罗集市 50/100共t条街对于每一条街上有n个店铺(n可能不相同),每次只能选两端第一个营业的店铺采购,采购第i个店铺会获得幸福度ai,采购完后,这个店铺和它相邻的店铺便会关门,问最大幸福度?考场想了一下dp,一开始想一维但发现不好处理,二维参数也没有想出来,于是便开始了我的暴力瞎搞之旅,我随手写了几个例子发现对于n为奇数无论怎么采购,幸福度是固定的为a1, a3 , ...

2019-08-26 21:11:00 87

空空如也

空空如也

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

TA关注的人

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