![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
寒假自主学习
Algorithm .
这个作者很懒,什么都没留下…
展开
-
B-万事如意
给你一个数 N,请问是否 N 是否满足 X * 2020 + Y * 2021 = N.例如:4041 = 1 * 2020 + 1 * 2021.4042 = 0 * 2020 + 2 * 2021.Input第一行为 t,表示测试用例数量。 1 <= t <= 10000随后 t 行每行一个整数 N。 1 <= N <= 1000000Output对于每一个 N,请输出是否满足条件,如果满足,请输出YES,否则输出NOExampleInput514041原创 2021-02-09 03:41:42 · 134 阅读 · 0 评论 -
A-新年快乐
You are given an integer n. Check if n has an odd divisor, greater than one (does there exist such a number x (x>1) that n is divisible by x and x is odd).For example, if n=6, then there is x=3. If n=4, then such a number does not exist.InputThe firs原创 2021-02-09 03:23:29 · 188 阅读 · 0 评论 -
线性表3:操作
获得元素操作要实现GetElem操作,即将线性表L中的第i个位置元素值返回,就是把数组第i-1下标的值返回。/* 顺序存储结构的代码定义* #define MAXSIZE 20* typedef int ElemType;* typedef struct {* ElemType data[MAXSIZE];* int length;* }SqList;*/#define OK 1#define ERROR 0#define TRUE 1#define FALSE原创 2021-02-06 00:51:13 · 176 阅读 · 0 评论 -
线性表2:顺序存储
顺序存储定义线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。顺序存储方式由于线性表的每个数据元素的类型都相同,我们可以用一维数组来实现顺序结构存储,即把第一个数据元素存到数组下标为0的位置中,接着把线性表相邻的元素存储在数组中相邻的位置。线性表的顺序存储结构代码如下:#define MAXSIZE 20 // 存储空间初始分配量typedef int ElemType; // ElemType 类型根据实际情况而定,这里假定为int原创 2021-02-06 00:47:30 · 147 阅读 · 0 评论 -
2020.2.6线性表1
1.线性表的定义线性表(List):零个或多个数据元素的有限序列。线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。在复杂的线性表中,一个数据元素可以由若干个数据项组成。2.线性表的抽象数据类型线性表的抽象数据类型定义:ADT 线性表(List)Data线性表的数据对象集合为{a1,a2,…an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素。数据元素原创 2021-02-06 00:44:48 · 87 阅读 · 0 评论 -
B - Two Arrays And Swaps
You are given two arrays a and b both consisting of n positive (greater than zero) integers. You are also given an integer k.In one move, you can choose two indices i and j (1≤i,j≤n) and swap ai and bj (i.e. ai becomes bj and vice versa). Note that i and原创 2021-02-02 00:00:39 · 218 阅读 · 0 评论 -
E:简单的数学问题
有三个数字x,y,z。你需要找到一个数字k满足 0 ≤ k ≤ 并且k % x=y.一共有k组数据.Input第一行一个整数t(1 ≤ t ≤5*10^4) --测试数据的组数,接下来t组测试数组。每组一个 x,y,z (2≤x≤10^9; 0≤y<x; y≤n≤10^9)Output输出每组测试数据的k. 0≤k≤n 并且 k%x=y.保证答案存在Example输入77 5 123455 0 410 5 1517 8 54321499999993 9 100000000原创 2021-02-01 23:56:51 · 197 阅读 · 0 评论 -
压缩技术其二
题目描述设某汉字由N × N的0和1的点阵图案组成。我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下。第一个数表示连续有几个0,第二个数表示接下来连续有几个1,第三个数再接下来连续有几个0,第四个数接着连续几个1,以此类推……例如: 以下汉字点阵图案:0001000000100000011110001000000100000010001111111对应的压缩码是: 7 3 1 6 1 6 4 3 1 6 1 6 1 3原创 2021-01-29 02:43:40 · 279 阅读 · 0 评论 -
再上一道
题目描述设某汉字由N × N的0和1的点阵图案组成。我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下。第一个数表示连续有几个0,第二个数表示接下来连续有几个1,第三个数再接下来连续有几个0,第四个数接着连续几个1,以此类推……例如: 以下汉字点阵图案:0001000000100000011110001000000100000010001111111对应的压缩码是: 7 3 1 6 1 6 4 3 1 6 1 6 1 3原创 2021-01-29 00:03:18 · 173 阅读 · 0 评论 -
发一道数学题
题目描述已知正整数nn是两个不同的质数的乘积,试求出两者中较大的那个质数。输入格式``一个正整数nn。输出格式一个正整数pp,即较大的那个质数。输入输出样例输入 #121输出 #17思路在代码中#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; for (int i=2;i<=n;i++) //用for循环查找最小的因数原创 2021-01-28 23:56:53 · 417 阅读 · 0 评论 -
C++中Sort函数的用法
sort是包含在#include<algorithm>STL中的一个函数作为STL,它比一般的冒泡排序效率要高它默认包含三个参数void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);第一个参数first是要排序的数组的起始地址第二个参数last是结束的地址(最后一个数据的next的地址)第三个参数comp是排序的方法:升序或降序,默认为升序。实例:#include<i原创 2021-01-25 18:48:38 · 128 阅读 · 0 评论 -
C/C++的移位运算
移位运算,听起来比较抽象的一个东西今天做到一个题,就是要求用移位运算来算x的n次方于是就代入了这个东西1.左移左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例如:int i=1;i=i<<2; //把i里的值左移2位也就是说,1的2进制是000…0001(多少个0取决于sizeof(int)),左移2位之后就是000… 0100,转成十进制就是4,所以对于十进制来说左移一位就相当于乘以2,左移n位就是乘以2的n次方了需要注意的原创 2021-01-23 01:17:54 · 1010 阅读 · 0 评论 -
C++ String的进阶操作II
前边说的都是string类的构造函数下面这些是用于string操作的库函数substr()//主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。append() //方法在被选元素的结尾(仍然在内部)插入指定内容。提示:如需在被选元素的开头插入内容,请使用prepend()方法。replace()//该函数返回一个字符串,其中指定的字符串已经被替换为另一字符串,并且替换的次数也可以指定。代码实例:#include <iostream>#include <stri原创 2021-01-23 01:04:57 · 158 阅读 · 2 评论 -
C++ string的进阶
string的修改操作:若string以数组的形式存储,可以用数组的下标进行修改操作:#include<string>string s[];s.insert(pos,n,c); //在下标 pos 的元素之前插入 n 个字符 cs.insert(pos,s2); //在下标 pos 的元素之前插入 string 对象 s2s.insert(pos,s2,pos2,len); //在下标为 pos 的元素之前插入 s2 中从下标 pos2 开始的 len 个字符s.insert(po原创 2021-01-20 20:25:06 · 97 阅读 · 0 评论 -
C++ string的构建
总的来说,C++的string的操作比起C来要复杂很多,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。总结一下字符串的构建:首先,要在程序中使用string类型,我们必须包含string头文件#include <string>构建string的方法:声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然它是一个类,就一定有构造函数。上面的声明没有传入参数,所以就直接使用了string的无参构造函数,也就是初始化一个空字符串。Strin原创 2021-01-19 19:23:55 · 1055 阅读 · 0 评论 -
关于C++的链表操作
在学C语言的时候早已把链表操作烂熟于心而在学C++的时候,学会它的链表操作也是必须的。其实,他们的操作大同小异仅仅是动态内存分配的命令上的区别。C语言的动态内存分配以库函数的形式包含在stdlib.h的头文件中他们是malloc和free没错,他们是天生的一对而为了更加方便链表这种应用广泛的数据结构的操作,C++增加了一对关键字—new和delete.new的使用方法:struct node{};int main(){ struct node *p; p=new node原创 2021-01-17 02:07:04 · 198 阅读 · 0 评论 -
简单的优化算法:二分查找
二分查找,又名折半查找,是一种对于搜索的优化算法对于大量的数据,如果用普通的暴力搜索就显得非常浪费时间只要有一个数据就要尝试一次 非常麻烦于是有一个瓜皮发明出了这样一种算法:对于一组有序的数据,找出这组数据的中点,判断要找的数据在它的前边还是后边这样就能排除一半的数据;然后把这个中点设为数据的起点或终点(刨除不包含目标的数据)再找中点,再比较如此循环往复,能节省一半的时间妙啊于是有了如下的代码: while(h<=m) { m=(h+e)/2; if(se原创 2021-01-16 02:44:16 · 381 阅读 · 0 评论 -
对于普及-题的尝试其三
题目描述我们要求找出具有下列性质数的个数(包含输入的正整数 nn)。先输入一个正整数 nn(n \le 1000n≤1000),然后对此正整数按照如下方法进行处理:不作任何处理;在它的左边加上一个正整数,但该正整数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加正整数为止。输入格式11 个正整数 nn(n \le 1000n≤1000)输出格式11 个整数,表示具有该性质数的个数。输入输出样例输入6输出6说明/提示满足条件的数为6,16,26,126,36,原创 2021-01-14 01:46:53 · 330 阅读 · 0 评论 -
对普及-题的尝试其二
题目描述输入两个正整数 x0,y0 ,求出满足下列条件的 P, QP,Q 的个数:P,QP,Q 是正整数。要求 P, Q P,Q 以 x0为最大公约数,以y0为最小公倍数。试求:满足条件的所有可能的 P, QP,Q 的个数。输入格式一行两个正整数 x0,y0.输出格式一行一个数,表示求出满足条件的 P, Q的个数。输入输出样例输入 #13 60输出 #14【题目来源】NOIP 2001 普及组第二题伪题解部分:这道题是一个数学问题,核心在于构建一个能计算最大公因数的函数函数原创 2021-01-12 22:23:24 · 654 阅读 · 0 评论 -
哈尔滨学院Day2--A The Puzzle
题目描述Kayaking is playing a puzzle game containing n different blocks. He marks the blocks with integers from 1 to n, which show the blocks’ original positions. Each time he can exchange two blocks and he wants to know how many times he needs at least to re原创 2021-01-09 23:09:59 · 146 阅读 · 0 评论 -
对普及-题的尝试其一
提高难度的伟大尝试–1这是一个小蒟蒻对于普及-题的向往和尝试.这次也是第一次尝试用C++来刷题.线下测试两个样例都能过.想了好久也还是有5个MLE.问题主要处在数据量太大,数的大小也太大.10000*10000的数组占用内存太多,就算时间勉强够用,内存也会炸正在探索如何优化这个问题题目:铺地毯题目描述:为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nn 张地毯,编号从 11 到 nn。现在将这些地毯按照编号从小到大的原创 2021-01-06 00:49:46 · 144 阅读 · 0 评论