自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hdu 4417 主席树

题目链接:点击打开链接解题思路:将数组去重离散化,建成一颗线段树,那么我们只要去找H的排名就可以用第r颗树减去第l颗树的(0-H)的区间数就可以了#include#define lson l,mid#define rson mid+1,rusing namespace std;typedef long long ll;int n,m;const int mx =1e5+

2017-11-30 22:58:00 350

原创 hdu 5919 主席树(区间不同数个数+区间第k个数)

题目链接:点击打开链接题解思路:应用主席树求出区间有多少个不同的数,和区间第k个数(两个功能都考察了)这里一个技巧就是从后往前插,那么寻找中位数的时间复杂度就变成nlogn了。#include#define lson l,mid#define rson mid+1,rusing namespace std;typedef long long ll;int n,

2017-11-30 20:39:38 292

原创 FJNU - 第二十一届低编赛题解

题目链接:点击打开链接A:题意:题意很清楚了,就不解释了。解题思路:很容易发现这个题目其实跟01排列顺序没有关系长度才是关键,就比如要求步数相同的情况下1001和0000,1111答案数是一样的,这个想一想就很好理解了。接下来代码有注释说明。代码:#include#include#include#include #define M 100005using

2017-11-26 21:22:36 1169

原创 hdu 5902 - 数学

题目链接:点击打开链接题解思路:天真的我以为只要一次两两gcd就是答案了,然而这明显是错的,例如:18*12,12*42,42*18这三个数要是一次两两gcd的话是不会得到6的。所以要用gcd完得到的数再去和数组的数去gcd然后看有没有新的数出现。代码:#includeusing namespace std;typedef long long ll;const i

2017-11-12 18:42:30 304

原创 hdu 5903 - 模拟

题目链接:点击打开链接题解思路:令len = n/2;题目要求我们操作次数正好m的最小字典序,那么就分两种情况1:str[i]==str[i+len],此时可以不操作,也可以操作两步,也就是使两个字母都变成另一个字母;我们可以设一个左右边界l,r。你会发现当l==0时奇数项是取不到了,这是就是任意的str[i]==str[i+len]的情况,当然我们一开始肯定要保证l=l。2:当s

2017-11-12 16:17:48 221

原创 hdu 5904 - 简单题

题目链接:点击打开链接题解思路:a[x]表示到x的最大连续长度,那么a[x]不就等于a[x-1]+1吗,这题要求连续递增就变得非常简单了.代码:#includeusing namespace std;typedef long long ll;const int mx = 1e6+10;int n,m,a[mx],b[mx],num[mx];int main()

2017-11-11 23:39:15 302

原创 hdu 5934-建图+强连通缩点

题目链接:点击打开链接 题解思路:这图咋一看就是图论,假设我引爆i点能使j点也引爆,那么就将i,j建立有向边。通过建立的图我们还要将强联通分量缩点,说明这个分量的任意一点引爆都能使其他点都引爆,这里缩点需要得到分量中花费最小的那个点,然后就是求缩完点的所有入度为0的点的和就是了。 代码: #include<bits/stdc++.h>using namesp...

2017-11-11 23:05:36 334

原创 hdu 5944 - 枚举公比+暴力匹配

题目链接:点击打开链接题解思路:我们枚举公比跟首项然后比较是否跟"xry"或"yrx"匹配就行了.代码:#includeusing namespace std;typedef long long ll;const int mx = 1e4+10;int n,a,b;char str[mx],c[mx];const char s[2][4] = {"yrx",

2017-11-11 20:29:17 215

原创 hdu 5950 - 矩阵快速幂

题目链接:点击打开链接题解思路:由(n+1)^4 = n^4 + 4n^3 + 6n^2 + 4n + 1,(n+1)^3 = n^3 + 3n^2 + 3n + 1...我可以做出一个7*7的矩阵,递推所有的函数代码:#includeusing namespace std;typedef long long ll;const ll mod = 2147493647;

2017-11-11 14:43:42 229

原创 hdu 5952 - dfs+优化

题目链接:点击打开链接题解思路:一开始直接每个枚举T了,后来直接找有连接的居然过了 = =。每次看这个点是否能加入这个团,然后分加入和不加入两种情况dfs就可以了。代码:#includeusing namespace std;typedef long long ll;const int mx = 1e2+10;int n,m,k,top,ans,tot,head

2017-11-10 20:58:24 270

原创 hdu 5999 - 贪心

题目链接:点击打开链接题解思路:排个序然后从倒数第三个开始每三个三个去就OK了。代码:#includeusing namespace std;typedef long long ll;const int mx = 1e5+5;int n,m,a[mx];int main(){ int t,cas = 1; scanf("%d",&t);

2017-11-10 20:55:07 313

空空如也

空空如也

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

TA关注的人

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