![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
2a9edfadc62ce99a
这个作者很懒,什么都没留下…
展开
-
2020天梯赛 吃火锅 (C++string函数)
L1-6 吃火锅 (15分)以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 chi1 huo3 guo1。输入格式:输入每行给出一句不超过 80 个字符的、以回车结尾的朋友信息,信息为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。当读到某一行只有一个英文句点 . 时,输入结束,此行不算在朋友信息里。输出格式:首先在一行中输出朋友信息的总条数。然后对原创 2020-12-10 20:53:25 · 1680 阅读 · 2 评论 -
素数筛(埃拉托斯特尼筛和欧拉筛)
线性筛素数题目描述给定一个范围 n,有 q 个询问,每次输出第 k 小的素数。输入格式第一行包含两个正整数 n,q分别表示查询的范围和查询的个数。接下来 q行每行一个正整数 k,表示查询第 k小的素数。输出格式输出 q 行,每行一个正整数表示答案。输入输出样例输入100 512345输出235711点我测试代码#include<iostream>#include<cstdio>using namespace std;co原创 2020-12-01 21:46:37 · 202 阅读 · 0 评论 -
二分(二分查找和二分答案)
A Cubic number and A Cubic Number判断某个素数是否可能由两个数的立方差所得到。Input第一行输入一个整数t(1<=t<=100),表示询问次数。接下来的t行每行有一个素数p(2<=p<=10^12)。Output对于每次询问,如果可能则输出“YES”,否则输出“NO”。Sample Input57132322695557Sample OutputYESNONOYESNO暴力:O(nm)二分查找:O原创 2020-12-01 21:20:45 · 344 阅读 · 1 评论 -
并查集(红色警报+奶酪+关押罪犯+食物链)
奶酪题目描述现有一块大奶酪,它的高度为 hh,它的长度和宽度我们可以认为是无限大的,奶酪 中间有许多 半径相同 的球形空洞。我们可以在这块奶酪中建立空间坐标系,在坐标系中, 奶酪的下表面为z = 0z=0,奶酪的上表面为z = hz=h。现在,奶酪的下表面有一只小老鼠 Jerry,它知道奶酪中所有空洞的球心所在的坐 标。如果两个空洞相切或是相交,则 Jerry 可以从其中一个空洞跑到另一个空洞,特别 地,如果一个空洞与下表面相切或是相交,Jerry 则可以从奶酪下表面跑进空洞;如果 一个空洞与上表面原创 2020-12-01 20:22:47 · 274 阅读 · 0 评论 -
区间和(离散化+双指针去重+二分查找)
区间和假定有一个无限长的数轴,数轴上每个坐标上的数都是0。现在,我们首先进行 n 次操作,每次操作将某一位置x上的数加c。接下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间[l, r]之间的所有数的和。输入格式:第一行包含两个整数n和m。接下来 n 行,每行包含两个整数x和c。再接下里 m 行,每行包含两个整数l和r。输出格式:共m行,每行输出一个询问中所求的区间内数字和。数据范围−109≤x≤109,1≤n,m≤105,−109≤l≤r≤109,−10原创 2020-12-01 18:14:38 · 165 阅读 · 0 评论 -
双指针(最长连续不重复子序列+判断子序列)
最长连续不重复子序列给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0~100000范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围:1≤n≤100000输入样例:51 2 2 3 5输出样例:3暴力做法:O(n2)双指针做法:O(n),结构:for(int r=0,l=0;r<n;r++)#include<ios原创 2020-12-01 18:26:54 · 180 阅读 · 0 评论