- 博客(56)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ACWing 二分法解决数的范围笔记,以及关于二分查找的拓展题
c++关于二分查找的函数binary_search可以查找这个数列中是否存在我们要找的数关于函数的理解例子1:数组中数的范围,不用函数情况下:题目:对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组...
2020-04-20 22:55:32
281
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 杭电oj2629
2629根据身份证号辨别所在地和生日按照以下形式输出:He/She is from Zhejiang,and his/her birthday is on 10,12,1989 based on the table.思路:身份证长度以及信息所在位置是固定的,用字符串截取函数截取出生日信息以及地址信息,根据switch找到地点,最后按格式输出,注意空格若用string: 截取函数为substr...
2020-03-07 12:30:33
440
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 杭电oj2057《十六进制运算》,坑题,有知识盲点!
错误代码以及运行结果#include<iostream>#include<cstdio>using namespace std;int main(){ int a,b;/* while(cin>>hex>>a>>b) cout<<a+b<<endl;*/ while(scanf("%x %x",&a...
2020-03-06 15:56:58
397
原创 kNN算法实现和延申项目,练习笔记
实战步骤:1.定义问题(这里理解为输入数据)2.数据理解(描述性或可视化)3.数据准备(预处理数据)4.评估算法5.优化模型(这里没用到)6.使用算法kNN算法实现要点:1.输入数据集,特征和分类标签即groups和labels2.计算测试集和数据集中各个点的距离3.按照递增次序排序4.选取前k个点5.确定前K个点的最多的类别,利用字典6.将出现的最多的类别定为最终的类别以下是对电影的类别进行分类,特征分别是打斗次数和亲吻次数import numpy as npimport
2020-07-27 22:24:14
175
原创 快速排序 归并排序
1.使用随机值或者中间的位置会降低运行时间2.赋值数据最后让i的位置为基准的数值,这种方法适用于把第一个数当作基准的情况,其他的不行3.注意类似于3 2这种无序两个数字的情况#include<iostream>#include<algorithm>using namespace std;const int N = 100010;int arr[N];int ...
2020-04-20 11:27:51
189
原创 杭电1029 寻找频率最高的数字,两种思路
先从小到大排序,找的是所有数字一半还多的,那么肯定在排序后的(N+1)/2的位置#include<iostream>#include<algorithm>using namespace std;const int N = 1000000;int arr[N];int main(){ int n; while(cin>>n){ for(int...
2020-04-20 11:27:18
151
原创 关于人工智能知识及各种关系的大佬链接
人工智能方面:人工智能知识图谱人工智能知识体系及各种应用人工智能知识总结人工智能 神经网络 机器学习的关系以及应用以下方面都在b站收藏夹大数据云计算方面:VR方面:图形图像处理方面:3D打印机,区块链:...
2020-04-19 18:59:47
152
原创 视频刷题笔记 并查集以及例题
数组下标表示城市编号,数组的数值表示能到达这个城市的城市编号。如果下标和数值相等,则为集合的祖先。查找某个元素所在集合:也就是查找某个元素所在集合的祖先int find(int x){ if(tree[x]==x) return x; return tree[x]=find(tree[x]);//如果没找到则继续向上查找祖先 }集合的并运算:分别找x1 x2两...
2020-03-31 16:35:53
108
原创 视频刷题记录
打印螺旋矩阵螺旋数组的核心思路就是找出规律,通过控制i,j的变换来一圈一圈的给数组赋值。一圈一圈的顺时针输入,分别为:从左到右,从上到下,从右向左,从下到上。当n为奇数时,圈数是n/2+1(因为中间会剩一个数字),当n为偶数时,圈数是n/2法一:常规做法#include<iostream>using namespace std;int main(){ int a...
2020-03-31 14:46:00
101
原创 视频刷题记录 vector建树
#include<iostream>using namespace std;#define MAX_TREE_SIZE 100typedef struct{ char data; int parent;}PTNode;//结点定义 typedef struct{ PTNode nodes[MAX_TREE_SIZE];//结点类型的数组,用来存储所有结点 in...
2020-03-31 10:48:37
227
原创 视频刷题笔记 简单题
100-999的水仙花数#include<iostream>using namespace std;int main(){ for(int i=100;i<=999;i++){ int a=i/100; int b=i%10; int c=i/10%10; if((a*a*a+b*b*b+c*c*c)==i) cout<<i<&...
2020-03-30 21:15:44
80
原创 视频刷题笔记点菜优惠折扣,身份证校验
#include<iostream>#include<cmath>#include<cstdio>#include<algorithm>using namespace std;struct p{ double a1; int a2;}num[1000];bool cmp(p u,p v){ if(u.a1==v.a1) r...
2020-03-30 20:34:08
81
原创 杭电1021 竟然能AC!求大佬进来解答这是怎么回事
难道是巧合吗? 我这样做的时候刚开始是对9取模,但是不通过,最后改成了8直接AC#include <iostream>using namespace std;int main(){ int f[10]; int n; while(cin>>n){ f[0]=7%3; f[1]=11%3; for(int i=2;i<9;i++){ f[i...
2020-03-28 22:59:19
90
原创 杭电oj1019
刚开始一直AC不过,最后想起来是因为两个整数的和,以及公倍数会超出int的范围改成__int64就好啦#include <iostream>using namespace std;int main(){ int N,m,a,t; cin>>N; while(N--){ cin>>m; __int64 b=1; ...
2020-03-28 21:59:50
754
原创 杭电oj1014
Problem DescriptionGiven two integers n and m, count the number of pairs of integers (a,b) such that 0 < a < b < n and (a2+b2 +m)/(ab) is an integer.//要求a<b!!这个刚开始忽略了//而且满足式子为整数,a/b为整数 也就...
2020-03-28 21:25:15
290
原创 杭电oj1013
这是个大数题!!!怪不得通不过#include<iostream>#include<string>using namespace std;int main(){ string s; while(getline(cin,s)){ if(s=="0") break; int sum=0; int len=s.size(); for(in...
2020-03-27 22:11:30
163
原创 杭电oj1005取模找规律
用递归的话内存会不够。该题涉及mod 所以每个函数取值只固定在几个值分别是0,1,2,3,4,5,6.而A B 值是固定的,所以当f(n-1)取0的时候,f(n-2)可以取七个值,f(n-1)取1的时候,f(n-2)可以取七个值.。。。而且f(n-1)也有七个取值,所以j一共有49中种可能的取值对。这就缩小了循环的范围#include<iostream>using namespa...
2020-03-27 21:16:53
107
原创 杭电oj2022
#include<iostream>#include<cmath>using namespace std;int a[10008][10008];int main(){ int n,m,i,j; while(cin>>m>>n){ //输入分数 for(i=0;i<m;i++) for(j=0;j<n;j++...
2020-03-23 09:31:43
219
原创 杭电oj2018
#include<stdio.h>int main(){ int n,i,a[55]; while(scanf("%d",&n)!=EOF) { if(n==0) break; a[1]=1; a[2]=2; a[3]=3; a[4]=4; ...
2020-03-21 14:42:48
115
原创 杭电oj1108最小公倍数
#include <iostream>using namespace std; int main(){ int a,b,t,c; while (cin >> a >> b) { c = a * b; if (a < b) { t = a; a = b; b = t; } while (a % b != 0...
2020-03-19 20:02:35
144
原创 杭电OJ2064 汉诺塔3
#include <iostream>#include <cstdio>using namespace std; __int64 N;__int64 hanoi(int n){ if (n==1) return 2; else{ return (hanoi(n-1) * 3+2); } }int main(){ while...
2020-03-18 22:39:32
314
原创 杭电OJ1995汉诺塔问题
#include <iostream>#include <cstdio>using namespace std;int T,N,k;__int64 hanoi(int x){ //若k为最后一层,则只需要移动一下 if (k == x) //K上面的移动就与K无关了 return 1;/*除了最后一层外,都是把上面全看成一个整体,A->B 最大...
2020-03-18 21:58:09
188
原创 杭电oj2098
意思就是偶数减去一个素数还是素数,注意是拆成不同的素数#include<iostream>#include<cmath>using namespace std;int sushu(int n){ if(n==2||n==3) return 1; for(int i=2;i<=sqrt(n);i++){ if(n%i==0) return 0...
2020-03-18 19:25:59
276
原创 杭电OJ2097
注意进位就行了#include<iostream>#include<vector>using namespace std;vector<int>v;int main(){ int n; while(cin>>n) { if(n==0) break; v.clear(); int i=4,t=n; int c1=0...
2020-03-18 18:58:27
265
原创 杭电oj2096
好水的题。。#include<iostream>#include<cmath>using namespace std;int main(){ int T,a,b; cin>>T; while(T--){ cin>>a>>b; int sum=0; if(a>=100||b>=100){ a=a...
2020-03-18 18:26:10
152
1
原创 杭电2092
这道题两个整数是未知量,但是有两个方程式,考虑把其中一个表示出来带进另一个,最后得到了一个二元一次方程a*a-nb+m,方程系数也是知道的,只要该方程有解并且是整数即可。则就转换为了二元一次方程的问题,只要定义系数的未知量,判断解就行#include<iostream>#include<cmath>using namespace std;int main(){ ...
2020-03-18 18:07:26
135
原创 杭电2090 算菜价 关于四舍五入
这道题刚开始用了四舍五入的式子,最后发现用printf输出直接保留一位小数也可以,查了资料发现,这也可以实现四舍五入而并不是直接截掉资料链接ac代码#include<iostream>#include<cstdio>using namespace std;int main(){ char s[1000]; double n,m; double sum=0...
2020-03-17 23:59:42
121
原创 杭电oj2089
#include<iostream>#include<vector>using namespace std;vector<int>v;int number(int n){ while(n!=0) { if(n%10==4||n%100==62) return 0; n=n/10; } return 1;//若不是不吉利数字,返回...
2020-03-17 23:08:58
183
原创 杭电oj2033
#include <iostream>using namespace std;int main(){ int a[6],b[3]; int n,i,j;//m为进位 cin>>n; while(n--){ for(i=0;i<6;i++){ cin>>a[i]; } i=2; ...
2020-03-17 20:04:47
122
原创 杭电2031 十进制转换成任意进制
#include<iostream>#include<string>#include<vector>using namespace std;int main(){ int n,r,t; vector<int>v; while(cin>>n>>r){ v.clear(); int flag=0; if...
2020-03-17 19:28:59
68
原创 杭电oj2072再好好消化!
在这道题中学到了很多知识。这道题用到了stringstream,以及值不重复的set,并且发现了stringstream的一些神奇用法关于stringstream的一些用法大佬的链接内容二中的例子很受用,肯定会出现那样的题STL 中常用的 vector,map,set,sort 用法下面是ac代码#include<iostream>#include<string&g...
2020-03-16 19:09:19
178
原创 杭电oj 2032 2040 2042
2032 杨辉三角#include<iostream>using namespace std;int main(){ int n; int a[31][31]; while(cin>>n){ a[0][0]=1; a[1][0]=1; a[1][1]=1; for(int i=2;i<n;i++){ a[i][0]=1; for(int...
2020-03-12 19:35:57
70
原创 杭电oj2028 2029
昨天写的这两个题,运行结果是正确的 但是放到杭电上一直编译错误,浪费了好长时间找错误,结果今天又试了一遍都可以AC。。2028求n个数的最小公倍数。#include<iostream>#include<cstring>#include<cstdio>using namespace std;int hh(int m,int n){ int r;//...
2020-03-12 17:12:56
126
转载 杭电oj2030,考试前再好好看一遍
原文链接:https://blog.csdn.net/weixin_44774255/article/details/98533064大体思路1.运用最小公倍数等于两个数的乘积,再除与它们的最大公因数;2.多个的最小公倍数可以利用两个求完得到的,在与另一个再求,反复调用即可;3.要注意溢出的问题即1的公式先除在乘保证不会溢出;代码如下:#include “stdafx.h”#incl...
2020-03-11 13:57:47
94
原创 杭电oj2026 2027
2026将字符串中单词的首字母换成大写即第一个字母和空格前的字母#include<iostream>#include<string>using namespace std;int main(){ string str; while(getline(cin,str)){ if(str[0]>='a'&&str[0]<='z')...
2020-03-11 10:48:22
121
原创 杭电oj2025
Problem Description对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。Input输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。Output对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。Sam...
2020-03-10 22:46:40
93
原创 杭电oj2024
c语言合法标识符:标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。Problem Description输入一个字符串,判断其是否是C的合法标识符。Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。Output对于每组输入数据,输出一行。...
2020-03-10 17:10:44
153
原创 杭电oj2023
Problem Description假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。Input输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。Output对于每个测试实例,输出3行数据,第...
2020-03-10 15:55:46
250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人