自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 Netbeans设置快捷键分配新变量

选择Tools->Options->Editor->Hints,之后选择Suggestions,把Assign Return Value To New Variable勾上即可

2023-03-03 15:01:26 101

原创 Java运行说明(非IDE)

Java运行说明(非IDE)

2022-11-17 22:20:38 122

原创 数据库记录

1. 左连接和右连接区别(主表不一样):2. order by和group by混用order by失效的问题:

2022-07-04 16:14:32 335

原创 JS学习记录

JS学习记录:1、js的三种提示框:alert、confirm、prompt2、随机数取值:[0,10)和(0,10]:​ 向下取整:Math.floor(Math.random()*10) //[0,10)​ 向上取整:Math.ceil(Math.random()*10) //(0,10][0,10]:​ 向下取整:Math.floor(Math.random()*11) //[0,10]​ 向上取整:Math.ceil(Math.random()*11)-1 //[0,10]

2022-05-30 14:47:17 66

原创 PAT 乙级 1096 大美数

PAT 乙级 1096 大美数思路:求出给定n的因子,再进行排列组合求出四个数的和,然后判断是否有能整除n的数,如果有就是输出Yes,否则输出No。递归遍历即可注意这里有个整除的概念,a整除b是b%a0而不是a%b0否则测试点1过不去#include <iostream>#include <vector>#include <set>using namespace std;vector<int> fact; //存放因子和四个因子的和set&l

2022-05-23 15:17:32 362

原创 Vue3踩坑记录

Vue3踩坑记录1、v-show显示隐藏一个组件会触发更新钩子,但是必须得要根标签,不然无法隐藏2、ref与reactive区别:定义数据:ref用来定义基本数据类型;reactive用来定义对象或数组数据类型原理:ref通过Object.defineProperty()的get与set实现响应式;reactive通过使用Proxy来实现响应式,并通过Reflect操作源对象内部的数据使用:ref定义的数据:操作数据需要.value,读取数据时模板中直接读取不需要.valuereac

2022-05-19 15:32:51 147

原创 Vue+Nodejs项目中碰到的一些问题

Vue+Nodejs项目中碰到的一些问题1、数据进行CRUD后刷新页面的方法:强制刷新:this.$forceUpdate();使用window.reload()或者router.go(0),但会使整个浏览器进行重载,页面闪烁重新调用接口,但性能较差,代码冗长provide-inject:App.vue中提供provide的this.reload方法:<template> <div id="app"> <router-view v-if

2022-05-14 10:51:14 343

原创 PAT 甲级 1066 Root of AVL Tree

1066 Root of AVL Tree模拟平衡二叉树的过程,输出最后生成的树的根节点class Node: def __init__(self,data,height=1,left=None,right=None): self.data=data self.left=left self.right=right self.height=height def getHeight(self): if self

2021-11-23 15:09:00 225

原创 PAT 甲级 1063 Set Similarity

1063 Set Similarity题目大意:找出两个集合里共有的元素个数除上两个集合的并集n=int(input())l=[]for i in range(n): tmp=list(map(int,input().split())) l.append(set(tmp[1:]))k=int(input())for i in range(k): pair=tuple(map(int,input().split())) common=l[pair[0]-1]&amp

2021-11-23 08:43:41 189

原创 PAT 甲级 1062 Talent and Virtue

1062 Talent and Virtue题目大意:给出一组人数,按照要求分类再排序输出。圣人是virtue和talent都超过h的人,君子是virtue超过h并且talent位于[l,h)区间内的人,笨蛋是两个都位于[l,h)区间内并且virtue>=talent的人,剩下的达到最低标准l的都是小人。PS:python日常超时,C++这里完美ACclass Person: def __init__(self,id,virtue,talent): self.id=id

2021-11-22 18:36:06 550

原创 PAT 甲级 1060 Are They Equal

1060 Are They Equal题目大意:给出连个数和一个精度位数,用科学计数法表示这两个数,如果相同则输出YES+科学记数法表示的数;否则输出NO+各自的科学记数法思路:找出小数点和第一个有效数字,然后比较两者顺序,记录下n个有效数字,按格式输出即可。注意这里坑点挺多,像是小数点在有效数字后面输出时候得处理掉小数点,0的输出,指数负数的输出,前导0的处理等等,还是有点麻烦的def isZero(s): #判断字符串是否全部为0 n=len(s) for i in range(

2021-11-22 14:35:00 205

原创 PAT 甲级 1059 Prime Factors

1059 Prime Factors题目大意:给出一个数n,找出他的所有素因子,按照格式输出即可。注意1和n自身是素数的情况from math import *def isPrime(n): if n==1: return False if n==2 or n==3: return True for i in range(2,int(sqrt(n))+1): if n%i==0: return Fals

2021-11-22 10:00:30 210

原创 PAT 甲级 1056 Mice and Rice

1056 Mice and Rice题目大意:给出老鼠的数量和每组的人数,将老鼠分成若干组(多下来不够每组人数的算作一组),第二行给出每只老鼠最终的重量,第三行给出分组顺序思路:记录每轮获胜的选手,淘汰掉的人的排名就是当前所在的层数,将获胜的选手继续下一轮排名。注意这里分组需要考虑总人数不满一组的情况!n,m=map(int,input().split())weight=list(map(int,input().split())) #每只老鼠的重量order=list(map(int,inpu

2021-11-21 13:55:33 396

原创 PAT 甲级 1052 Linked List Sorting

1052 Linked List Sorting题目大意:以(address,key,next)形式给出一个链表,将链表按key进行排序后输出新生成的链表思路:本以为直接排序就好,next给的数据都没有用,后来发现会有多的节点,即给出一个头节点会生成一个链表,但是有的节点不在这条链上,这就要去掉多余的节点。测试点3超时,C++完美AC。想了一下输入输出是不能砍的,唯一能动手脚的应该就是去除节点的步骤了,不过性价比不高,太费时间n,head=map(int,input().split())l=[]l

2021-11-20 17:52:21 380

原创 PAT 甲级 1051 Pop Sequence

1051 Pop Sequence题目大意:给定一个栈的大小,给出k组数据,输出是否是合法的出栈序列思路:用数组模拟栈即可,注意判断是否超出栈的大小,每轮循环都要初始化。本以为会超时,单纯的想试下直接模拟能拿多少分,意外的全部AC了…m,n,k=map(int,input().split())for i in range(k): flag=True stack=[] #模拟栈 l=list(map(int,input().split())) index=0 #待

2021-11-20 11:40:18 365

原创 PAT 甲级 1048 Find Coins

1048 Find Coins题目大意:给出目标价格m,要求找出两个硬币和恰好等于m。如果没有解输出No Solution;若不止一组解则输出coins[i]+coins[j]=m中i最小的解思路:首先不能暴力求解,肯定超时。先对硬币进行排序,然后用二分法来查找。注意不能直接用二分,依然会超时,先提前用set去重,因为要求的是硬币面额而不是下标。def findCoins(l,r,m): global coins if coins[l]+coins[r]==m: ret

2021-11-20 10:40:56 402

原创 PAT 甲级 1047 Student List for Course

1047 Student List for Course题目大意:给出学生数量和课程数量,接下来给出每个学生所选的课,统计每个课程选的学生姓名思路:用dict字典存储每门课选的人即可。注意有的课可能没有人选,要提前判断字典里是否存在n,k=map(int,input().split())course={}for i in range(n): tmp=input().split() for j in range(2,len(tmp)): if course.get(t

2021-11-19 19:32:44 204

原创 PAT 甲级 1043 Is It a Binary Search Tree

1043 Is It a Binary Search Tree题目大意:给出一棵树的先序序列,判断它是否是一个BST或者一个镜面BST思路:这题主要是树的遍历问题,先假设该树是一棵BST,按照BST的方法建树,然后输出建好树后的先序序列,若是与原数列从小到大排列相同则说明是BST;如果不相同则按照相反的方式遍历这棵树,若得到的先序序列与原数列从大到小排列则说明是镜面BST;否则输出NO。C++完美AC,python测试点5一直非零返回,也不准备找了,花的时间太长了。顺便提一嘴python没有引用真的挺不

2021-11-17 22:00:25 710 2

原创 PAT 甲级 1040 Longest Symmetric String

1040 Longest Symmetric String题目大意:给出一个字符串,求出最长的回文子串的长度思路:从第一个字符开始往后遍历,每次遍历第一个字符不动,从下一个字符开始找起,若是有回文子串则更新最大长度,暴力求解即可。注意这样会有个测试点超时,其中加个判断当前子串长度是否大于已经找到的最长长度,大的话则继续查找,否则直接跳到下一轮就能避免超时def isSymmetric(s): start,end=0,len(s)-1 while start<=end:

2021-11-16 15:12:17 281

原创 PAT 甲级 1039 Course List for Student

1039 Course List for Student题目大意:给出待查询人数和学生的选课情况,按查询顺序输出每个学生的选课情况简单的模拟,键值对dict即可。一开始最后一个测试点超时,原因是for…in语句的使用之后还是要判断下标,改成下标索引就能过了,但是测试点1的非零返回还是没找到原因,可能是pat后台对python检测有点问题吧,相同的做法C++完美ACn,k=map(int,input().split())select_courses={}for i in range(k):

2021-11-16 13:23:52 366

原创 pat 甲级 1037 Magic Coupon

1037 Magic Coupon题目大意:给出两行整数(包括负数和0),两两乘积求和,问和的最大值思路:贪心算法,先将非负数按从大到小排序,再将负数从小到大排序,一次对应乘积加起来即可,注意0要跳过。测试点4没过n=int(input())coupon=list(map(int,input().split()))m=int(input())product=list(map(int,input().split()))coupon.sort(key=lambda x:-x if x>=0

2021-11-15 15:29:05 413

原创 PAT 甲级 1036 Boys vs Girls

1036 Boys vs Girls题目大意:给出男生女生的分数,第一行输出女生的最高分,没有则输出absent;第二行输出男生的最低分,没有则输出absent;最后一行输出两者分差,不存在则输出NAn=int(input())male=[]female=[]absent=Falsefor i in range(n): tmp=input().split() name=tmp[0] gender=tmp[1] id=tmp[2] grade=int(tmp

2021-11-15 14:21:04 203

原创 PAT 甲级 1033 To Fill or Not to Fill

1033 To Fill or Not to Fill题目大意:从起始点到终止点中间有若干加油站,给出汽车的油箱容量,总距离,每单位的油能跑的路程,和n组数据,求出路径上所花的最少费用,如不能到达终点则输出最远能到达的路程。思路:一个贪心模拟,有点费脑,把所有的加油站按路程远近进行排序,路程相同的将费用少的放在前面,之后统计当前油箱里的油,所花的费用,以及以该加油站为起点所能到达的最便宜加油站。注意这里0位置处必须有一个加油站(测试点2),测试点4报错非零返回,暂时先跳过了capacity,dista

2021-11-15 12:14:01 120

原创 PAT甲级 1032 Sharing

1032 Sharing题目大意:给出两个字符串,找出公共的后缀思路:简单的求公共子串问题。一开始想用从后面往前找遇到分支处则说明找到,但是有两个测试点超时。后来改进成对一个子串遍历全部标记一下,第二个子串遍历的时候若碰到已经访问过的则说明找到。这里有一个坑点就是该不该判断-1的个数,由于题目明确说明是两个子串所以我觉得这里是要判断的,可是会有一个测试点2不通过,省去这步反而可以过…再有就是最后一个测试点会超时,针对python来说目前没有啥好方法,C++倒是完美通过MAXN=100005next=

2021-11-13 23:55:10 994

原创 PAT甲级 1029 Median

1029 Median题目大意:给出两个列表,先将它们合并,然后从小到大排序,输出中位数思路:简单的模拟。注意列表长度为偶数时输出的是n/2-1位置处的点,还有我并不知道这题可不可以重复,反正我是去重后AC的。l1=list(map(int,input().split()))l2=list(map(int,input().split()))n1,n2=l1[0],l2[0]n=n1+n2l1,l2=l1[1:],l2[1:]l1.extend(l2)l1=list(set(l1))l1.

2021-11-13 11:33:35 706

原创 PAT甲级 1028 List Sorting

1028 List Sorting题目大意:给出一组学生数据,由学号,姓名,分数组成,根据输入的标识符c进行相应的排序思路:简单模拟。不过我第一次提交最后一个测试点超时,第二次又通过了,应该是耗时边界吧,398msdef cmp(t,i): return (t[i-1],t[0])n,c=map(int,input().split())l=[]for i in range(n): tmp=input().split() tmp[2]=int(tmp[2]) l.

2021-11-13 11:03:04 361

原创 PAT甲级 1025 PAT Ranking

1025 PAT Ranking题目大意:给出几个考场学生的学号和分数(学号不重复),要求按照总排名情况输出学生的总排名,学号,考场,考场排名。思路:录入数据后只需对分数进行全局和局部排序即可,相同分数排名相同,学号按字典序从小到大输出。注意最后一个测试点不要去遍历数组查局部排名,提前定义一个字典用来存储局部排名(因为学号无重复),不然会超时def addRankList(l): l[0].append(1) pre=l[0] same=1 for k in l[1:]

2021-11-12 14:29:49 366

原创 PAT甲级 1024 Palindromic Number

1024 Palindromic Number题目大意:回文子串模拟def isPalindromic(a): start=0 end=len(a)-1 while start<=end: if a[start]!=a[end]: return False start+=1 end-=1 return Truedef add(a,b): carry=0 i=len(a)-1

2021-11-12 10:50:42 175

原创 PAT甲级 1021 Deepest Root

1021 Deepest Root题目大意:给出一个图,判断是否是一棵树,如果不是则输出连通分量个数,如果是则输出使得树最高的那个根节点。思路:一开始我想的是先判断连通块然后再dfs求出每个节点的树高,把树高最长的节点记录下来,但是好几个超时;后来想着先求出从1开始遍历(这里别的点应该也行)离它最远的点记录下来(保存到集合中),再求出从这个集合里面第一个元素(别的也可以)dfs的结果,将距离最长的点保存下来,然后两个集合求并集就是答案。这里可以用反证法,第一个集合里的元素求dfs最大深度时必然会经过1(

2021-11-12 10:27:36 903

原创 PAT甲级1020 Tree Traversals

1020 Tree Traversals题目大意:通过二叉树后序遍历和中序遍历确定一棵树,然后输出它的层序遍历class Node: def __init__(self,data,left=None,right=None): self.data=data self.left=left self.right=rightdef makeRoot(postOrder,inOrder): #通过中序遍历和后序遍历确定一棵树 if len(

2021-11-10 14:30:45 213

原创 PAT甲级1017 Queueing at Bank

1017 Queueing at Bank题目大意:给出一组客户数据和银行窗口个数,来的早了需要等到8点银行开门,17点以后来的无效,窗口满了需要等上一个客户办理完,求出平均等待时间注意:来的早的人等待时间也要算!这里思路是按照时间从早到晚排序,先剔除17点以后的人,然后用一个end数组储存每个人结束的时间,按从大到小排,当end长度等于窗口数量时,下一个来的人就要判断是否已经有人离开,把所有离开的人全部剔除end数组,如果没有就计算来的人的等待时间C++代码已AC,这里用的是pythondef c

2021-11-10 11:02:37 738

原创 PAT甲级1016 Phone Bills

1016 Phone Bills题目大意:第一行给出每个时间段每分钟打电话的费用(美分,最后需要输出美元),接下来给出n组数据分别列出通话的人,时间,是打还是挂注意:不是所有记录都合法,打和挂数量不对应一定有错的。这里我是先按照人名,后按照时间顺序从小到大排列,若是碰到重复的打电话则取最后一次打的时间;若是碰到重复的挂电话则取第一次挂电话的时间由于我之前用cppAC了一次于是这次用的是python,写的比较乱:def calTimeBill(start,end): #计算时间和费用 glo

2021-11-09 15:22:37 262

原创 HDUOJ-1041

HDUOJ-1041题目大意:数字从1开始不断分裂,遇到0就变成10,遇到1就变成01。第一次变换从1变到01,第二次1001,第三次01101001,不断分裂下去。n从1取到1000思路:一开始以为是模拟题,直到测试到50发现很慢了,后来才发现是找规律题,满足f(n)=f(n-1)+2*f(n-2)的规律。数据很大,要用二维数组存放或者字符串,这里用的是字符串处理大数修改前代码://一开始的模拟思路#include <iostream>#include <string>

2021-10-16 16:42:53 52

原创 Java学习心得

1、java里定义常量用的是final而非const2、Java里的输入输出要加system.out/system.in(这就是我第一门语言学的不是Java的原因,太繁琐了,包括定义函数定义类也很麻烦)3、java中输出print和println除了后者多个换行以外没有任何区别,而printf与C中的printf一样,可以控制输出格式4、java里没有bool型,取而代之的是boolean5、在java里的循环前面可以起个别名,方便跳出最外层循环6、java里的整型范围与运行java的机器无关,这

2021-06-07 16:12:11 243 1

原创 记录一下python学习中的问题

开一篇记录学习python中遇到的问题(长期更)1、关于print输出:由于博主长期接触C,所以用python输出习惯性的用%形式。用回python正常输出模式发现了一些问题,对比以下两种输出:print("UltraGaya is ","me")print("UltraGaya is %s" % "me")憨憨博主本以为这两种输出是一样的,结果:UltraGaya is meUltraGaya is me!!!第一行多了一个空格!!查阅资料才发现print输出中逗号是占用一个空格的…

2021-05-09 22:36:30 185 2

原创 PAT甲级1154

PAT甲级1154题目大意:给出n个顶点,m条边。接下来给出k组数据,问每组数据是否能构成彩色图,要求任意两个相连的顶点颜色不能相同。如果不能输出No,否则输出一共多少种颜色。这里后两个测试点超时,一开始以为是set问题,后来发现这题用邻接表数据依然会很大,改成储存边即可。尽量不要额外开辟一个visit判断多少种颜色,数据int范围会越界。#include <iostream>#include <vector>#include <set>#include &l

2021-03-17 23:32:13 87

原创 PAT甲级1153

PAT甲级1153题目大意:给出每个考生的卡号以及成绩,按照一定规则查询。规则如下:如果输入的查询代码是1则输出之后要查询的等级中的考生且按照分数从大到小排列,如果相同则按照卡号字母序从小到大排列;如果输入的查询代码是2则输出这个地点所有考生的总和(不论什么等级);如果输入的查询代码是3则输出该日期内每个地区的考生人数。注意要用unordered_map还有cout全部用printf代替否则后面两个测试点会超时。#include <iostream>#include <vector

2021-03-17 22:45:00 159

原创 PAT甲级1150

PAT甲级1150题目大意:给出一个图以及几组路径判断这些路径是哪一类路径,并且最后一行输出最短路径以及是第几组路径。路径种类:1、构成一个环且所有节点(除开始结尾的节点)只访问一次:TS simple cycle;2、构成环但是除首尾节点访问超过1次或者首尾节点访问超过2次:TS cycle;3、未能构成一个环或者虽构成环但是不是图中每个节点都访问到:Not a TS cycle。本以为是个图论的最短路径啥的,结果只是个简单模拟分类。首先首尾节点必须相同否则一定是第三类(未构成环);如果碰到路径途中有

2021-03-17 17:05:26 63

原创 PAT甲级1149

PAT甲级1149题目大意:给出n组不相容的数据,接下来给出m条待查数据,问每组数据是否可以共存。由于数据比较大所以用邻接表存储不相容的节点,如果碰到某个节点其不相容节点0个则直接跳过(说明该节点一定可以放进箱子里),否则从他的不相容邻接点查找看是否有和后面待查数据相同的,如果有则记录flag为false,之后只录入数据不做任何处理(只要有一组不相容别的都不用看了)。虽然数据有些大但是可以通过一些条件跳过大量冗余循环。#include <iostream>#include <vec

2021-03-17 16:06:21 77

原创 PAT甲级1146

PAT甲级1146题目大意:给出一个有向图,然后给出k组数据,判断是否能构成拓扑序。开辟indegree数组保存每个节点的入度,判断时候额外复制一个数组处理,不要在原数组上修改。每输入一个顶点就判断其是否入度为0,如果不为0标记false,之后输入的数据不做任何处理,并且保存该组数据的编号;如果为0则将这个顶点指向的顶点入度减1.最后输出所有不能拓扑的下标。#include <iostream>#include <vector>#include <queue>

2021-03-17 15:56:15 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除