自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round #695 (Div. 2) E

E. Distinctive Roots in a Tree题意:给你一颗树,每个节点有一个点权,让你找到有多少个特殊点。特殊点的定义是从这个点出发。到任意一个结点。这个路径上的点权都是不一样的。题解首先我们如果直接找特殊点是比较麻烦的。那我们就考虑反过来。先找非特殊点。首先我们很容易想到从相同的点权入手。第一种情况如果现在有一个结点他的某个子树里,有一个与他点权相同的结点。那么除了这个结点的子树里的点其他都不可能是特殊点。我们就记录一下(这里因为我们进行区间修改可以用树上差分)。第二种情况

2021-01-18 23:26:21 129

原创 L3-009 长城 (30分)

首先可以想到一定要判断斜率,而且只有斜率为递减的情况(也就是当点为凹点的时候)才可以忽略这个点。我第一次写的时候就是这样。但是还有一种情况。这种情况只要两个点就可以了;但是如果按照第一种方法来写就会是三个点。也就是说每个烽火台观察的点不是连续的。所以这个题就要用单调栈来写。应为每个“凸点”的贡献不一定只有后面连续的点。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mod = .

2020-11-30 11:10:15 218

原创 2020年牛客第七场 B-Mask Allocation

gcd思想、#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mod = 1e9 + 7;vector<int>mapn;int main() { int t; cin >> t; while (t--) { int n, m; cin >> n >> m; map.

2020-11-29 23:39:11 141

原创 2020牛客多校第七场 H-Dividing

题解:首先可以想到满足条件的n,要么n%k==0,要么n%k ==1。因为如果第一步为乘k那么接下来不管什么操作那n一定是k的倍数;如果第一步为+k那么接下来的数,那就是k+1。也就是说,所有n%k==1或者n%k ==0的数都可已通过-k或/k得到1;那样问题就转化为了求...

2020-11-29 23:18:35 128

原创 2020卓见杯ccpc河南省赛补题

问题 B: 广告投放二维DPdp[i][j]表示在i集剩余j人的时候的答案。把能得到的所有可能的人数全部预处理出来。然后暴力DP#include<bits/stdc++.h>using namespace std;#define ll long long#define sc scanfconst int mx = 1e5 + 10;int p[mx];int d[mx];vector<ll>dp[mx];int ji[mx];int idx[mx];int

2020-11-22 21:00:57 952 4

原创 素数筛---埃氏筛法

在我们平时写有关素数的题目的时候,一般用的方法都太耗时间,在写题的时候又会有很多的麻烦(超时)。埃氏筛法就是一种可以快速找出一个区间里的的素数的方法...

2020-11-20 10:29:29 174

原创 蓝桥杯历届试题-带分数

题目100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式从标准输入读入一个正整数N (N<1000*1000)输出格式程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部...

2020-03-02 18:38:31 223

原创 并查集

并查集的精华所在就在于那两个的函数,一个合并函数一个查找函数,其实这种问题你不用想的太过深入,有时想的太深入反而会把自己搞迷。首先是查找函数int find(int x){ if(x!=pre[x]) { x=pre[x]=find(pre[x]); } return x;}查找函数就是找自己的祖先直倒找到pre[x]=x为止。void...

2020-03-01 15:56:54 98

原创 2020牛客寒假算法基础集训营第四场----子段乘积

题目链接其实这个用线段树写就可以了大神的线段树博客只是把加换成了乘;#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll mod=998244353;const ll maxn=1e6+5;ll sum[maxn<<2];ll a[maxn],n;void qi...

2020-02-12 19:14:00 176

原创 线段树--入门

题目10000个正整数,编号从1到10000,用A[1],A[2],A[10000]表示。修改:1.将第L个数增加C (1 <= L <= 10000)统计:1.编号从L到R的所有数之和为多少? 其中1<= L <= R <= 10000.输入输入一个整数n;下一行输入n个整数。接下来输入两个整数g,c;表示改的那个数的下标和加的数c;下一行输入两个...

2020-02-12 16:49:31 148

原创 前缀和

前缀和是一种快速求解区间和的算法。首先给出一个数组a,用一个数组b,用来记录前i项的和,关系式为b[i]=a[i]+b[i-1]这样要求q到w之间的数的和只需要让b[w]-b[q-1];#include<bits/stdc++.h>using namespace std;const int x=1e5+5;const int med=1e9+7;int main(){...

2020-02-10 21:39:04 133

原创 2020牛客寒假算法基础集训营3---H牛牛的k合因子数

题目描述链接:https://ac.nowcoder.com/acm/contest/3004/H来源:牛客网合数是指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。牛牛最近在研究“k合因子数”,所谓“k合数”是指一个数的所有因子中,是合数的因子共有k个。例如20的因子有1,2,4,5,10,20,其中4,10,20为合数,它有3个合数因子,就称20是一个 “3合因子数”...

2020-02-09 17:56:11 203

原创 矩阵快速幂---斐波那契数列

矩阵快速幂就是将快速幂和矩阵乘法结合起来,快速幂我之前的博客里,矩阵乘法就是将矩阵快速幂和快速幂结合,代码#include<bits/stdc++.h>using namespace std;struct node { int mat[15][15];//定义矩阵 }x,y; node mul(node x,node y){//矩阵乘法 node tmp; for(...

2020-02-05 21:14:32 231

原创 2020牛客寒假算法基础集训营1-----eli和字符串

链接:https://ac.nowcoder.com/acm/contest/3002/G来源:牛客网时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述eli拿到了一个仅由小写字母组成的字符串。她想截取一段连续子串,这个子串包含至少 个相同的某个字母。她想知道,子串的长度最小值是多...

2020-02-05 16:07:03 241

原创 动态规划入门-----数字三角形

动态规划入门-----数字三角形问题描述给定一个由n行数字组成的数字三角形,如下图所示:输出从上到下最大的值的总和。思路这道题在动态规划里是入门级的题目,运用到了递归,我认为递归在动态规划中的思想主要有两个,一个是在递的关系式和归的时候的结束条件。...

2020-01-31 17:58:50 214

原创 阿牛的EOF牛肉串(递推公式的推导)

今年的ACM暑期集训队一共有18人,分为6支队伍。其中有一个叫做EOF的队伍,由04级的阿牛、XC以及05级的COY组成。在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的只由"E" “O” "F"三种字符组成的字符串(可以只有其中一种或两种字符,但绝对不能有其他字符),阿牛同时禁止在串中出现...

2020-01-13 19:47:38 285

原创 今年暑假不AC---(贪心算法)

“今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%…”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所...

2020-01-13 18:14:53 357

原创 快速幂

快速幂快速幂是一种解决大量的幂运算时的一种可以快速求解的方法,有一道典型的题目。题目写一段程序求X的P次方由于结果可能比较大让结果对m取模。要求时间复杂度控制在O(logp)内。快速幂思路对于这一题其实很简单简单到一个函数就可以解决。但是题目要求把时间复杂度控制在O(logp)之内。这也是快速幂的所解决的问题。如果暴力解法,那么时间复杂度就是O§。跟题目要求明显是不符的。既然暴力不行...

2020-01-12 16:59:56 138

原创 二分查找

二分查找昨天去参加新生赛五道有思路的题,结果有三道因为时间超限没有通过,其中有一道题印象很深刻。要用到二分查找,我才意识到这种方法在课本上有原型,但是平时并不注重课本的知识,等到用的时候才发现自己根本不会用。听了学长的讲解,知道c++里面有特定的二分查找的函数,今天看了一些讲解觉得这一部分有必要了解一下。不多BB先上题。题目描述小Q发现小P和小H各有一个集合,但是小P的集合A和小H的集合B...

2019-12-22 15:23:41 370

原创 01背包(超易懂版)

01背包(超易懂版)在竞赛题中看到的一道题,虽然不是背包问题,但是用到的方法是相通的,在百度和CSDN上看了很多文章,但是大多数对新手都不太友好。所以今天用比较简单的讲解来几教大家01背包问题。问题原型01背包,共有n个物体,每个物体有自己的重量和价值,有一个最大承受重量为X的背包 ,向背包中加入物体,问能达到的最大价值为多少。首先设定物体编号和它的重量价值。i(物体编号)1...

2019-12-21 23:05:26 361 2

空空如也

空空如也

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

TA关注的人

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