10 2019 档案
摘要:https://www.acwing.com/problem/content/801/ #include<bits/stdc++.h> using namespace std ; int n; const int N=100100; int a[N],s[N]; //a数组用来记录数字,s数组用来记
阅读全文
posted @ 2019-10-31 20:34
晴屿
摘要:while( scanf ("%d",&x ) ==1) 这里scanf返回的是成功输入的变量个数,当输入结束的时候,scanf函数无法再次读取x,将返回0 比较大的数组应该尽量声明在main函数外,否则程序可能无法运行 关于c语言的数组:如果要从数组a复制k个元素到b,可以这样做:memcpy(b
阅读全文
posted @ 2019-10-29 18:40
晴屿
摘要:https://www.acwing.com/problem/content/796/ #include<bits/stdc++.h> using namespace std; // A/b 商是c 余数是r vector<int> div(vector<int> &A, int b,int &r)
阅读全文
posted @ 2019-10-29 10:25
晴屿
摘要:https://www.acwing.com/problem/content/795/ #include<bits/stdc++.h> using namespace std; //A*b 一个高精度的数乘一个低精度的数 vector<int> mul(vector<int> &A, int b)
阅读全文
posted @ 2019-10-29 10:24
晴屿
摘要:https://www.acwing.com/problem/content/794/ #include<bits/stdc++.h> using namespace std; //判断是否有a>=b 如果是 返回true 反之 返回false bool cmp(vector<int>&A,vect
阅读全文
posted @ 2019-10-29 10:22
晴屿
摘要:https://www.acwing.com/problem/content/793/ #include<bits/stdc++.h> using namespace std; vector<int> add(vector<int> &A, vector<int> &B) { vector<int>
阅读全文
posted @ 2019-10-29 10:21
晴屿
摘要:https://atcoder.jp/contests/abc144/tasks/abc144_c
阅读全文
posted @ 2019-10-28 00:33
晴屿
摘要:#include<iostream> using namespace std; int main() { double x; cin>>x; double l=0,r=x; while(r-l>1e-8) //for(int i=0;i<100;i++) 可以不用精确位数,直接循环100次 { double mid=(l+r)/2; if(mid*mid>=x) r=mid; else l=mid
阅读全文
posted @ 2019-10-27 11:31
晴屿
摘要:https://www.acwing.com/problem/content/791/ 模板 这两个模板的区别在于去mid的时候是否+1 平时写的时候可以先不写+1, 然后当更新方式为l=mid, r=min-1时,再写上加1 解释+1: 举例子,因为时向下取整,当l=r-1,如果不补上+1,那么m
阅读全文
posted @ 2019-10-27 11:05
晴屿
摘要:#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<queue> const int maxn =100010; using namespace std; int n,m; struct data { int x,step; } p; int vis[1
阅读全文
posted @ 2019-10-27 00:29
晴屿
摘要:https://www.luogu.org/problem/P1379 这个代码需要用c++11提交。
阅读全文
posted @ 2019-10-26 23:46
晴屿
摘要:https://www.acwing.com/problem/content/787/ 快排是先排序,再递归。归并是先递归,在排序 快排 双向指针
阅读全文
posted @ 2019-10-26 23:30
晴屿
摘要:深搜模板题 https://www.acwing.com/problem/content/846/ 模拟队列 输出路径 应用队列
阅读全文
posted @ 2019-10-25 17:27
晴屿
摘要:深搜的一道水题 https://www.acwing.com/problem/content/844/ 正确输入输出
阅读全文
posted @ 2019-10-25 17:25
晴屿
摘要:如果ch是大写字母,则ch-‘A’就是它在字母表中的序号,(A的序号为0,B为1) 如果ch为数字,那么ch-‘0’就是这个数值本身,' 5 ' - ' 0 ' =5;
阅读全文
posted @ 2019-10-22 21:41
晴屿
摘要:scanf("%s", )输入字符串,碰到空格或者TAB就会停下来,虽然下次调用的时候会输入下一个字符串,可是不知道两次输入的字符串中间有多少个空格、TAB甚至换行符。所以,在处理此题的时候,可以用以下两种方法。 第一种是使用fgetc(fin),它读取一个打开的文件fin,读取一个字符,然后返回一
阅读全文
posted @ 2019-10-22 11:33
晴屿
摘要:#include using namespace std; #define maxn 20 int a[maxn][maxn]; int main(){ int n,x,y,tot=0; cin>>n; memset(a,0,sizeof(a)); tot=a[x=0][y=n-1]=1; while(tot=0&&!a[x][y-1]) a[x][-...
阅读全文
posted @ 2019-10-22 11:31
晴屿
摘要:#include using namespace std; int inset(char *s,int num) { //判断数字是否在数字集中 int len=strlen(s),i,tmp; while(num) { tmp=num%10; //取末尾数字 for(i=0; i\n", count); p...
阅读全文
posted @ 2019-10-22 11:29
晴屿
摘要:https://www.luogu.org/problem/P1583 话不多说,其实就是模拟,然后,各种繁琐
阅读全文
posted @ 2019-10-21 20:59
晴屿
摘要:欧拉函数是少于或等于n的数中与n互质的数的数目。 求法: 求解欧拉函数的值可用φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),容易知道要对n进行素因子分解。 1)直接实现 素数表实现 先把50 000以内的素数用筛选法选出来并保存,以方便欧拉函数使
阅读全文
posted @ 2019-10-20 10:11
晴屿
摘要:https://www.luogu.org/problem/P2158 建立平面直接坐标系,将左下角看作原点,如果__gcd=(x,y)==1,那么就能看见,因为方阵为正方形,所以,利用这两个性质,先将方阵分割成两个直角三角形,再反别算2到n-1的欧拉函数,最后*2+3
阅读全文
posted @ 2019-10-20 09:57
晴屿
摘要:#include<bits/stdc++.h> using namespace std; int main(){ int c,q=1; while( (c = getchar()) !=EOF) { if(c =='"'){ printf("%s",q ? " . ":" 。"); q=!q; } else printf("%c",c); } return 0; } // 输入 "aSAs","a
阅读全文
posted @ 2019-10-16 11:08
晴屿
摘要:floor(x) 返回不超过x的最大整数 整数/整数=整数 浮点数/浮点数=浮点数 整数-浮点数=浮点数 浮点数-浮点数=浮点数 sqrt(x)是计算x的算术平方根 如果一定要将一个浮点数值存放在一个int型的变量中,将会丢失部分信息, const double pi=acos(-1.0); 这里声
阅读全文
posted @ 2019-10-16 10:22
晴屿
摘要:链接 https://vjudge.net/problem/CodeForces-1144C
阅读全文
posted @ 2019-10-07 15:05
晴屿
摘要:原题链接:https://vjudge.net/problem/CodeForces-1144A
阅读全文
posted @ 2019-10-07 15:03
晴屿
摘要:链接https://www.luogu.org/problem/P3367 模板
阅读全文
posted @ 2019-10-06 21:40
晴屿
摘要:原题链接:https://vjudge.net/contest/331993#problem/I Vladik and Chloe decided to determine who of them is better at math. Vladik claimed that for any posi
阅读全文
posted @ 2019-10-06 21:10
晴屿
摘要:原题链接https://vjudge.net/contest/331993#problem/C 输入2个正整数A,B,求A与B的最大公约数。 Input2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)Output输出A与B的最大公约数。Sample Input Sample Outp
阅读全文
posted @ 2019-10-06 19:35
晴屿
摘要:原题链接:https://vjudge.net/contest/331993#problem/B 在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。 问有多少种不同的排列方法。 例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果) Inp
阅读全文
posted @ 2019-10-06 19:31
晴屿
摘要:链接:https://vjudge.net/contest/331993#problem/D 给出3个正整数A B C,求A^B Mod C。 例如,3 5 8,3^5 Mod 8 = 3。 Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算
阅读全文
posted @ 2019-10-06 19:27
晴屿
摘要:原文链接https://vjudge.net/contest/331993#problem/H Alice and Bob decide to play a funny game. At the beginning of the game they pick n(1 <= n <= 10 6) co
阅读全文
posted @ 2019-10-06 19:24
晴屿
摘要:原题目链接:https://vjudge.net/contest/331118#problem/B 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。
阅读全文
posted @ 2019-10-06 18:55
晴屿
摘要:原题链接https://vjudge.net/contest/331118#problem/A 题目: 现在有一个M*N的方阵,每个格子里面是.或者W,点代表水,然后如果在这个点的周围,即8个方向内还有w,那么可以连成一片,即这两个w看作为1个 输入:M N, 还有方阵 输出:有几个水池 样例输入
阅读全文
posted @ 2019-10-05 19:39
晴屿
摘要:原题链接:https://vjudge.net/contest/331120#problem/E 原文英语: You are given a system of pipes. It consists of two rows, each row consists of nn pipes. The to
阅读全文
posted @ 2019-10-05 09:21
晴屿
摘要:代码1 (学弟版) #include<bits/stdc++.h>using namespace std;int l[15];bool s[15]; //sad函数判断是否在同一斜线上,abs()表示绝对值bool sad(int x,int i) { //x是当前行,i是当前行的棋子的位置 for
阅读全文
posted @ 2019-10-04 13:16
晴屿
摘要:转自https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html 1、map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。 对于迭代器来说,可以修改实值,而不能修改key。
阅读全文
posted @ 2019-10-04 11:22
晴屿
摘要:一. cin>>s:cin>>是由两部分构成的,cin和>>,其中cin是输入流istream类的一个对象,隶属于iostream函数库而>>则是运算符:这个运算符的作用是:从左侧cin对象中读取数据,并将它赋给右侧的运算对象.1.>>运算符是由右侧的数据类型定义的,右侧的数据类型不同,重载的>>也
阅读全文
posted @ 2019-10-04 11:06
晴屿
摘要:string与数组类似,但要比数组灵活的多。详细例子见10.3笔记 操作 1) =, s.assign() // 赋以新值2) swap() // 交换两个字符串的内容3) +=, s.append(), s.push_back() // 在尾部添加字符4) s.insert() // 插入字符5)
阅读全文
posted @ 2019-10-04 10:30
晴屿
摘要:题目描述 从前有很多个硬币摆在一行,有正面朝上的,也有背面朝上的。正面朝上的用1表示,背面朝上的用0表示。现在要求从这行的第一个硬币开始,将前若干个硬币一起翻面,问如果要将所有硬币翻到正面朝上,最少要进行这样的操作多少次? 从前有很多个硬币摆在一行,有正面朝上的,也有背面朝上的。正面朝上的用1表示,
阅读全文
posted @ 2019-10-04 10:24
晴屿
摘要:题目链接:https://vjudge.net/contest/331120#problem/C 题目:你有一部手机,最多显示k个人发的信息,现在收到n条信息,有可能人是相同的人发的。最新的要顶置,当屏幕上显示的人数已经有k个时, 如果此时又新的人发信息,则把显示屏末端的会消失,最新的顶置。 输入:
阅读全文
posted @ 2019-10-03 23:28
晴屿
摘要:题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 题目描述 规定:x和y是亲戚,y和z是亲戚
阅读全文
posted @ 2019-10-03 22:54
晴屿
摘要:/* set set和multiset会根据特定的排序原则将元素排序。 set中的元素没有重复,并且默认从小到大排序两者不同之处在于,multisets允许元素重复,而set不允许重复。 常用操作set<int> s 定义一个set容器 类型为int型s.begin() 返回指向第一个元素的迭代器s
阅读全文
posted @ 2019-10-03 21:59
晴屿
摘要:/* queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque队列 类型。一:定义queue(要有头文件#include <queue>)queue<int> q1;queue<double> q2;二:基本函数back()返回一个引用,
阅读全文
posted @ 2019-10-03 21:51
晴屿
摘要:/*vector(向量):是一种顺序容器,,动态数组,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组,它的随机访问快,在中间插入和删除慢,但在末端插入和删除快。 2.
阅读全文
posted @ 2019-10-03 21:29
晴屿
摘要:#include<Windows.h>#include<iostream>#include<algorithm> // sort swap min max lower_bound upper_bound reverse#include<string>#include<vector>#include<
阅读全文
posted @ 2019-10-03 19:32
晴屿
摘要:#include <iostream>#include <cstdio>using namespace std;void dfs(/*起始坐标*/){ if(/*找到出口*/){ //操作 return ; } for(/*循环遍历所有方向*/){ if(/*新的坐标不符合条件*/) continu
阅读全文
posted @ 2019-10-02 21:43
晴屿
摘要:题目:定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着
阅读全文
posted @ 2019-10-02 21:38
晴屿
摘要:题目背景 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给
阅读全文
posted @ 2019-10-02 21:13
晴屿
摘要:题目描述 小 X 给了你一个等差数列的前两项以及项数,请你求出这个等差数列各项之和。 等差数列:对于一个 nnn 项数列 aaa,如果满足对于任意 i∈[1,n)i \in [1,n)i∈[1,n),有 ai+1−ai=da_{i+1} - a_i = dai+1−ai=d,其中 ddd 为定值
阅读全文
posted @ 2019-10-02 17:35
晴屿
摘要:Amy觉得英语课实在是无聊至极,他不喜欢听老师讲课。 但是闲着也是闲着,不如做点什么吧?于是他开始数英语书里的字母a和A共出现了多少次。 费了九牛二虎之力终于数完了。 作为一名软件工程专业大学生,他觉得这么累的活还是交给电脑做比较合适,于是他拜托你写一个程序数一下 输入 输入只有一行。一个英文句子。
阅读全文
posted @ 2019-10-02 14:53
晴屿
摘要:题目描述 众所周知,在每一个彗星后都有一只UFO。这些UFO时常来收集地球上的忠诚支持者。不幸的是,他们的飞碟每次出行都只能带上一组支持者。因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走。他们为每个彗星起了一个名字,通过这些名字来决定这个小组是不是被带走的那个特定的小组(你认为是谁给这
阅读全文
posted @ 2019-10-02 14:50
晴屿
摘要:题目描述: hhs刚刚学会了如何判断一个数是质数,但现在hhs被一个与质数有关的问题难住了,求求你帮他解决这个问 题。问题如下: 如果质数在质数列表中也是质数,则称为质数中的质数。 例如:3 5分别是排第二和第三的质数,因此它们是 质数中的质数。 现在给出一个数字N,最小质数> = N中的质数是多少
阅读全文
posted @ 2019-10-02 13:59
晴屿
摘要:题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括999位数字、111位识别码和333位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍
阅读全文
posted @ 2019-10-02 10:35
晴屿
摘要:题目描述 小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编
阅读全文
posted @ 2019-10-02 09:04
晴屿
摘要:题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是111米。我们可以把马路看成一个数轴,马路的一端在数轴000的位置,另一端在LLL的位置;数轴上的每个整数点,即0,1,2,…,L0,1,2,…,L0,1,2,…,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域
阅读全文
posted @ 2019-10-02 09:02
晴屿
摘要:题目描述 试计算在区间 111 到 nn n的所有整数中,数字x(0≤x≤9) x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 111到11 11 11中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,
阅读全文
posted @ 2019-10-02 08:57
晴屿
摘要:题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 333种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P老师决定只买同一种包装的铅笔。 商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过nnn支铅笔才够给小朋 友们发礼物。 现
阅读全文
posted @ 2019-10-02 08:54
晴屿
摘要:题目描述: 有一堆石子共有N个。syx xxh两个人轮流拿,syx先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获 胜。syx xxh都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比赛。 例如N = 3,K = 2。无论syx如何拿,xxh都可以拿到最后1颗石子。输入格式
阅读全文
posted @ 2019-10-01 22:50
晴屿
摘要:新疆大学ACM协会最新研发了一款自走棋,hh和hhs两人正在兴致勃勃的对弈。以 下是自走棋的规则: 一共有10种棋子,每种棋子编号1-10 2. 每一秒钟hh和hhs可以各自获得一个棋子,hhs先拿棋子,hh后拿棋子 3. 如果某种棋子的数量达到3则该棋子自动升级,编号+1,数量降到1 4. 若有一
阅读全文
posted @ 2019-10-01 22:44
晴屿
摘要:题目描述: n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只 蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi, 但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。
阅读全文
posted @ 2019-10-01 21:26
晴屿