自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 方程的解数

蒜头君在求解一个n元的高次方程:其中:x1,x2,…,xn 是未知数,k1,k2,…,kn是系数,p1,p2,…,pn是指数。方程中所有数都一定是整数。假设未知数 1≤xi≤M,i=1…n。你能帮蒜头君算出这个方程的整数解个数吗?输入格式第一行输入一个整数 n(1≤n≤4)。第二行输入一个整数 M(1≤M≤150)。第3行到第 n+2 行,每行输入两个整数,分别表示 ki(∣ki∣≤2...

2019-02-17 19:09:00 133

原创 正方形

体会Ank 和Cnk的不同选法(当前的数为index,每次从index后面的数里选取,为Cnk)(352,235,523只会选出来其中一种)#include<iostream>#include<string.h>#include<vector>#include<algorithm>using namespace std;int n,ans...

2019-02-17 18:21:36 722

原创 蒜头君下棋 DFS

题目链接我们从某一点出发,把这一点当做-1,之后开始dfs,他能到达的点(马子走)都设为1,再从能到达的点再遍历,设为-1。这样能把这些点分为1和-1.这是相互冲突的。这样之后我们还会可能有一些点没有被遍历到,我们再找那些等于0,也就是没有被遍历到的,再重复过程。最后我们统计1的个数还有-1的个数,取最大值即可。#include<iostream>#include<al...

2019-02-16 17:38:30 216

原创 合并数字

题目链接用栈来维护每次合并完的数,每入栈一个数以后栈顶和次栈顶比较,如果可以合并就合并为新的栈顶,并且再次与次栈顶比较直至无法合并(不排除当前栈顶元素可以与次栈顶甚至次栈顶后面的元素进行“合并”操作的可能),然后在合并过程中统计次数即可。#include <iostream>#include <stack>using namespace std;int n,x;...

2019-02-16 16:44:37 246

原创 引爆炸弹

题目链接思路:dfs搜索,由于数据量较大,需要剪枝定义row和col两个数组,如果炸弹爆炸,则炸弹所在的row和col记为1虽然求最少的炸弹引爆数,但是因为炸弹是连锁的,所以遍历即可#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#inc...

2019-02-10 11:39:22 732

原创 楼兰图腾 树状数组求逆序和

题目链接注意:每次求逆序或正序和都需要初始化#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#include <cmath>#include <vector>#i

2019-02-09 20:52:57 144

原创 激光炸弹 二维前缀和

题目链接思路:二维前缀和+内存优化(题目10^8需要优化),所以用n,m记录大的那个前缀和前缀和的计算: f[i][j]=f[i−1][j]+f[i][j−1]−f[i−1][j−1]+a[i][j]边长为r的正方形前缀和计算:a[i][j]-a[i-r][j]-a[i][j-r]+a[i-r][j-r]技巧:因为前缀和从1开始比较方便,所以处理数据时x++,y++#include &...

2019-02-07 20:29:22 123

原创 最佳牛围栏 二分+前缀和

题目链接平均值技巧,同时减去avg思路:将最优问题转化为判定问题#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#include <cmath>#include <ve...

2019-02-06 13:15:02 446

原创 Allowance POJ - 3040 贪心+模拟

题目链接1 面值比c大的直接当一次2 面值比C小的贪心求解, 先从大面值到小面值遍历,使得总和小于等于C,然后从小到到大遍历,使得总和大于等于C参考博客#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostre...

2019-02-03 20:04:59 189

原创 没有上司的舞会(树形dp)

Ural大学有N名职员,编号为1~N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数N。接下来N行,第 i 行表示 i...

2019-06-01 15:38:06 179

原创 数列分段 II

problem:一个长度为N的正整数数列A[i]将其分成M段,并要求每段连续求每段和最大值(M段各自的和中最大的那个)最小(某种方案下最小)。solution:二分+贪心#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int a[N];int n,m;bool check(int x...

2019-05-29 16:46:58 321

原创 I Hate It

线段树模板https://vjudge.net/problem/HDU-1754#include<bits/stdc++.h>using namespace std;const int N=2e5+10,INF=0x3f3f3f3f;int n,m,a[N];struct Tree{ int l,r,dat;}t[N<<2];void pushup(i...

2019-05-10 17:18:34 276

原创 Jessica's Reading Problem

链接经典的贪心题目注意1.页数在int范围内,数组会越界,所以用map来记录是否读过该书籍2.每次操作最后更新l和r#include<iostream>#include<cstdio>#include<set>#include<algorithm>#include<map>using namespace std;co...

2019-04-24 11:31:14 577

原创 借教室

链接二分加差分注意:求的是第一个不满足的订单,在l或r的基础上++//具有单调性,二分//区间操作最后求值,差分#include<bits/stdc++.h>using namespace std;const int N=1e6+10; ll n,m,a[N],d[N],s[N],t[N],diff[N],sum[N];bool check(int mid){ ...

2019-04-24 10:52:34 118

原创 疏散人群(dfs遍历树)

对于每一个子树,花费的最小时间一定是节点个数,把问题成功的转化为求每个子树的节点个数,取最大值即可(树是无向的,所以要用vis判断不是遍历过的父节点)#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int n,a[N],ans[N];vector<int> G[N];bool vi...

2019-04-21 17:51:03 417

原创 奖品分配

题目链接每个位置的最小值是由左右位置转移过来的,所以排序后,当前位置i左右两边的位置如果已经计算过,就可以转移过来#include<bits/stdc++.h>using namespace std;typedef pair<int,int> P;typedef long long ll;const int N=1e5+10;int a[N],b[N];P ...

2019-04-20 21:35:34 648

原创 万万没想到之聪明的编辑

题目链接双指针算法可以在O(n)内删除字符串的某一元素(从前到后扫一遍)i,j是每次向后推进一位,如果满足条件就j–#include<bits/stdc++.h>using namespace std;const int N=1e6+10;char str[N];int main(){ int n; cin>>n; while(n--){ cin&...

2019-04-15 20:36:39 2848 2

原创 祖孙询问

题目链接思路:如果x是最近公共祖先,输出1如果y是最近公共祖先,输出2其他 0#include<bits/stdc++.h>using namespace std;const int N=4e4+10;const int maxbit=20;vector<int> G[N];int dep[N];int father[N][maxbit];int l...

2019-04-13 22:18:11 593

原创 P3379 【模板】最近公共祖先(LCA)

题目链接lca模板#include<cstdio>#include<iostream>#include<algorithm>#include<set>#include<limits.h>#include<cstring>#include<vector>using namespace std;ty...

2019-04-13 21:55:04 145

原创 How far away ?

题目链接带权的倍增lca算法#include<bits/stdc++.h>using namespace std;const int N=4e4+10;const int maxbit=20;struct edge{ int to; int val;};vector<edge> G[N];int dep[N];int father[N][maxbi...

2019-04-13 21:52:27 216

原创 River Hopscotch

题目链接经典的二分问题,先处理了第一块和最后一块岩石因为距离从1到l都可以,所以想到用二分对于当前的距离mid,如果cnt>=N+2-M,说明di选小了;(意思是mid距离需要多少块岩石)如果cnt<N+2-M,说明di选大了;#include<cstdio>#include<algorithm>#include<iostream>u...

2019-03-27 09:35:12 180

原创 Sumsets

题目链接加上递推题目加上当i为奇数时,相当于从f【i-1】 加上1得到,即分f【i】=f【i-1】i为偶数,如果有1的话,相当于从f【i-2】 加上两个1得到没有1的话,方法数和f[i/2]相等(f【i/2】数列的每个数乘以2)#include<cstdio>#include<algorithm>#include<iostream>using...

2019-03-27 08:56:12 391

原创 小朋友排队

题目链接1.利用等差数列转化为求逆序对和正序对2.树状数组优化因为ans的输出问题WA了好多次。。#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;using namespace std;typedef long long ll;const ...

2019-03-13 23:26:10 471

原创 抢气球

题目链接复杂度N+M#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;using namespace std;typedef long long ll;const int N=100010;struct Node{ int v; int index;}node[N];int a[N]...

2019-03-13 17:55:16 477

原创 最敏捷的机器人

题目链接S-T模板题#include&lt;iostream&gt;#include&lt;cstdio&gt;using namespace std;typedef long long ll;const int N=100010;const int LogN=20;int n,k,log[N],f[N][LogN],z[N][LogN],a[N];int main(){ ...

2019-03-13 15:38:15 264

原创 简单题

题目链接思路类似于校门外的树那道题#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;#include&lt;cstdio&gt;using namespace std;typedef long long ll;const int N=100010;int c1[N],c2[N];int...

2019-03-13 11:57:53 251

原创 清点人数

题目链接树状数组模板题#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;#include&lt;cstdio&gt;using namespace std;typedef long long ll;const int N=500010;int c[N];int n,m;int low...

2019-03-13 11:31:28 797

原创 校门外的树

题目链接将区间修改转化为两个单点修改,则查询操作的结果为r左边的(个数减去l左边的)的个数,进而想到树状维护前缀和,具体思路是c1维护(的个数,c2维护)的个数,#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;#include&lt;cstdio&gt;using namespace std...

2019-03-13 11:03:55 125

原创 数星星 Stars

题目链接y从小到大排序,y相同x从小到大排序,转化为当前星星i之前,x小于等于的i的星星个数,即为这个星星的级数(正序对问题)#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;#include&lt;cstdio&gt;using namespace std;typedef long lon...

2019-03-12 22:15:01 533

原创 楼兰图腾

题目链接树状数组求逆序对#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;using namespace std;typedef long long ll;const int N=200010;int n;int a[N],r[N],l[N],c[N];int ask(int x){...

2019-03-12 21:18:43 444

原创 回文数字

题目链接#include &lt;iostream&gt;#include &lt;algorithm&gt;using namespace std;const int INF=0x3f3f3f3f;int n,flag;int digit[100];bool judge(int n){ int k=0; do{ digit[k++]=n%10; n/=10; }whi...

2019-03-11 18:26:07 260

原创 分糖果

题目链接#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;cstdlib&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;cmath&gt;#include &lt;vector&gt;#include &lt;map&

2019-03-09 14:22:53 127

原创 等边三角形

题目链接#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;using namespace std;const int N=30;int a[N],vis[N];int dx[]={0,0,1,-1,1,1,-1,-1};int dy[]={1,-1,0,0,-1,1,1,-1};int...

2019-03-04 21:54:26 307

原创 愤怒的牛

经典的二分问题题目链接#include &lt;cstring&gt;#include &lt;cstdlib&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;cmath&gt;#include &lt;vector&gt;#include &lt;map&gt;#include &lt

2019-03-04 18:09:09 103

原创 校门外的树

题目链接#include &lt;cstring&gt;#include &lt;cstdlib&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;cmath&gt;#include &lt;vector&gt;#include &lt;map&gt;#include &lt;stack&a

2019-03-04 14:50:13 90

原创 数星星 Stars

题目链接直接二维树状数组会超内存,利用贪心排序降维(题目数据已经有序)#include &lt;cstring&gt;#include &lt;cstdlib&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;cmath&gt;#include &lt;vector&gt;#include &lt;...

2019-03-04 14:34:06 253

原创 Dungeon Master

题目链接#include &lt;cstring&gt;#include &lt;cstdlib&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;cmath&gt;#include &lt;vector&gt;#include &lt;map&gt;#include &lt;stack&a

2019-03-03 20:34:51 89

原创 过河卒

题目链接#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;cstdlib&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;cmath&gt;#include &lt;vector&gt;#include &lt;map&

2019-03-03 11:54:33 91

原创 机器人搬重物

题目链接bfs有很多细节注意处理,比如格子图转化为点图的碰撞判断,方向数组来实现机器人的转向等。。。#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;cstdlib&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;#include &lt;cmath&gt...

2019-02-25 13:38:21 369

原创 填涂颜色

首先,分析题目,这是要将闭合的“1”里面的“0”改写成“2”,然后输出。由此,我们猛然发觉,只要‘0’的联通块中,没有在边界的就是闭合的‘0’;(发现这个,就等于做对了一半;)因为,从正面推,找闭合中的‘0’不好找。所以运用BFS或者DFS直接搜索边界中‘0’,所在的联通块,然后标记。最后输出时,去除‘1’点和标记了的点,剩下的输出为‘2’,就是正解啦!!!#include &lt;cstd...

2019-02-24 18:49:06 132

空空如也

空空如也

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

TA关注的人

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