
c/c++算法
mpdfdfl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
L3-009 长城 (30分)
首先可以想到一定要判断斜率,而且只有斜率为递减的情况(也就是当点为凹点的时候)才可以忽略这个点。我第一次写的时候就是这样。但是还有一种情况。 这种情况只要两个点就可以了;但是如果按照第一种方法来写就会是三个点。 也就是说每个烽火台观察的点不是连续的。所以这个题就要用单调栈来写。应为每个“凸点”的贡献不一定只有后面连续的点。 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int mod = .原创 2020-11-30 11:10:15 · 322 阅读 · 0 评论 -
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 · 215 阅读 · 0 评论 -
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 · 239 阅读 · 0 评论 -
蓝桥杯历届试题-带分数
题目 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 · 288 阅读 · 0 评论 -
并查集
并查集的精华所在就在于那两个的函数,一个合并函数一个查找函数,其实这种问题你不用想的太过深入,有时想的太深入反而会把自己搞迷。 首先是查找函数 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 · 149 阅读 · 0 评论 -
阿牛的EOF牛肉串(递推公式的推导)
今年的ACM暑期集训队一共有18人,分为6支队伍。其中有一个叫做EOF的队伍,由04级的阿牛、XC以及05级的COY组成。在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的只由"E" “O” "F"三种字符组成的字符串(可以只有其中一种或两种字符,但绝对不能有其他字符),阿牛同时禁止在串中出现...原创 2020-01-13 19:47:38 · 624 阅读 · 0 评论 -
快速幂
快速幂 快速幂是一种解决大量的幂运算时的一种可以快速求解的方法,有一道典型的题目。 题目 写一段程序求X的P次方由于结果可能比较大让结果对m取模。 要求时间复杂度控制在O(logp)内。 快速幂思路 对于这一题其实很简单简单到一个函数就可以解决。 但是题目要求把时间复杂度控制在O(logp)之内。这也是快速幂的所解决的问题。如果暴力解法,那么时间复杂度就是O§。跟题目要求明显是不符的。既然暴力不行...原创 2020-01-12 16:59:56 · 190 阅读 · 0 评论 -
二分查找
二分查找 昨天去参加新生赛五道有思路的题,结果有三道因为时间超限没有通过,其中有一道题印象很深刻。要用到二分查找,我才意识到这种方法在课本上有原型,但是平时并不注重课本的知识,等到用的时候才发现自己根本不会用。听了学长的讲解,知道c++里面有特定的二分查找的函数,今天看了一些讲解觉得这一部分有必要了解一下。 不多BB先上题。 题目描述 小Q发现小P和小H各有一个集合,但是小P的集合A和小H的集合B...原创 2019-12-22 15:23:41 · 463 阅读 · 0 评论 -
01背包(超易懂版)
01背包(超易懂版) 在竞赛题中看到的一道题,虽然不是背包问题,但是用到的方法是相通的,在百度和优快云上看了很多文章,但是大多数对新手都不太友好。所以今天用比较简单的讲解来几教大家01背包问题。 问题原型 01背包,共有n个物体,每个物体有自己的重量和价值,有一个最大承受重量为X的背包 ,向背包中加入物体,问能达到的最大价值为多少。 首先设定物体编号和它的重量价值。 i(物体编号) 1 ...原创 2019-12-21 23:05:26 · 459 阅读 · 2 评论