自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stan冲冲冲

Just a CTFer

  • 博客(161)
  • 收藏
  • 关注

原创 Number of Enclaves

Source: Number of Enclaves - LeetCode题解class Solution: def numEnclaves(self, grid: List[List[int]]) -> int: m=len(grid);n=len(grid[0]) def dfs(x,y)->(int,bool): if not (0<=x<m and 0<=y<n):return(0,False)

2022-03-03 07:55:37 301

原创 Reverse String

Source: Reverse String - LeetCode题解class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ left=0;right=len(s)-1 while(left<=right):

2022-03-03 07:54:34 305

原创 Number of Closed Islands

Source: Number of Closed Islands - LeetCode题解class Solution: def closedIsland(self, grid: List[List[int]]) -> int: m=len(grid);n=len(grid[0]) def dfs(x,y)->bool: if not (0<=x<=m-1 and 0<=y<=n-1): return

2022-03-03 07:53:56 308

原创 Count Sub Islands

Source: Count Sub Islands - LeetCode题解class Solution: def countSubIslands(self, grid1: List[List[int]], grid2: List[List[int]]) -> int: m=len(grid1);n=len(grid1[0]) def dfs(x, y): if (0 <= x < m and 0 <= y &l

2022-03-03 07:53:09 161

原创 Squares of a Sorted Array

Source: Squares of a Sorted Array - LeetCode题解class Solution {public: vector<int> sortedSquares(vector<int>& nums) { vector<int> res; int left=0; int right=nums.size()-1; while (left<=right){

2022-02-28 23:04:20 110

原创 Flood Fill

Source: Flood Fill - LeetCode题解class Solution: def floodFill(self, image: List[List[int]], sr: int, sc: int, newColor: int) -> List[List[int]]: # m*n m,n=len(image),len(image[0]) color = image[sr][sc] if color == ne

2022-02-28 23:03:20 63

原创 Climbing Stairs

Source: Climbing Stairs - LeetCode状态转移方程题解class Solution {public: int climbStairs(int n) { if(n==1)return 1; vector<int>dp(n+1); dp[1]=1;dp[2]=2; for (int i = 3; i < n+1; ++i) { dp[i]=dp[i-1]+dp

2022-02-28 23:00:17 53

原创 House Robber

Source: House Robber - LeetCode状态转移方程f(x)=max{f(x−1),f(x−2)+v}f(x)=max\{ f(x-1),f(x-2)+v \}f(x)=max{f(x−1),f(x−2)+v}题解class Solution {public: int rob(vector<int>& nums) { int n=nums.size(); if(n==1)return nums[0];

2022-02-28 22:59:41 56

原创 Min Cost Climbing Stairs

Source: Min Cost Climbing Stairs - LeetCode状态转移方程dp[i]=min(dp[i−1]+cost[i−1],dp[i−2]+cost[i−2])dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])dp[i]=min(dp[i−1]+cost[i−1],dp[i−2]+cost[i−2])题解pythonclass Solution: def minCostClimbingStairs(self, co

2022-02-28 22:59:04 67

原创 P1060 NOIP2006 普及组 开心的金明

Source: P1060 [NOIP2006 普及组] 开心的金明 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)状态转移方程题解# n=money,m=numn, m=map(eval, input().split())# dp[num][money]dp=[[0 for i in range(n + 1)] for j in range(m + 1)]for i in range(1,m+1): v,p=map(eval,input().split())

2022-02-28 22:58:23 112

原创 N-th Tribonacci Number

Source: N-th Tribonacci Number - LeetCode类似这道Fibonacci Number - LeetCode状态转移方程题解class Solution: def tribonacci(self, n: int) -> int: if n<2:return n if n==2:return 1 dp=[0 for i in range(n+1)] dp[1]=1;dp[2]=

2022-02-27 22:51:20 77

原创 Binary Search

Source: Binary Search - LeetCode题解class Solution: def search(self, nums: List[int], target: int) -> int: left, right = 0, len(nums)-1 while left <= right: mid = left + (right - left) // 2 if nums[mid] &lt

2022-02-27 22:50:03 56

原创 First Bad Version

Source: First Bad Version - LeetCode题解# The isBadVersion API is already defined for you.# def isBadVersion(version: int) -> bool:class Solution: def firstBadVersion(self, n: int) -> int: left,right=1,n while left<=right:

2022-02-27 22:49:32 67

原创 Fibonacci Number

Source: Fibonacci Number - LeetCode状态转移方程题解class Solution: def fib(self, n: int) -> int: if n<2:return n dp=[0 for i in range(n+1)] dp[1]=1 for i in range(2,n+1): dp[i]=dp[i-1]+dp[i-2] retur

2022-02-27 22:49:01 60

原创 Hit the Lottery

Source: Problem - 996A - Codeforces状态转移方程数组的定义:当目标金额为时,至少需要枚硬币凑出。题解n=eval(input())big=n//100n%=100coins=[1,5,10,20,100]dp=[float("inf") for i in range(n+1)]dp[0]=0for i in range(1,n+1): for coin in coins: if i-coin >=0:

2022-02-27 22:47:56 128 1

原创 Pascal‘s Triangle

Source: Pascal’s Triangle - LeetCodeIn Pascal’s triangle, each number is the sum of the two numbers directly above it每一行的首个和结尾一个数字都是1,从第三行开始,中间的每个数字都是上一行的左右两个数字之和状态转移方程f(i,j)=f(i−1,j)+f(i−1,j−1)f(i,j)=f(i-1,j)+f(i-1,j-1)f(i,j)=f(i−1,j)+f(i−1,j−1)题

2022-02-27 22:47:26 109

原创 Pascal‘s Triangle II

Source: Pascal’s Triangle II - LeetCode和上一题Pascal’s Triangle差不多,就是只用两个list了状态转移方程f(i,j)=f(i−1,j)+f(i−1,j−1)f(i,j)=f(i-1,j)+f(i-1,j-1)f(i,j)=f(i−1,j)+f(i−1,j−1)题解class Solution: def getRow(self, rowIndex: int) -> List[int]: if rowIn

2022-02-27 22:46:37 73

原创 Search Insert Position

Source: Search Insert Position - LeetCode状态转移方程题解class Solution: def searchInsert(self, nums: List[int], target: int) -> int: left,right=0,len(nums)-1 while left<=right: mid=left+(right-left)//2 if nums

2022-02-27 22:45:54 119

原创 Climbing Stairs

Source: Climbing Stairs - LeetCode状态转移方程f(n)=f(n−1)+f(n−2)f(n) = f(n-1) + f(n-2)f(n)=f(n−1)+f(n−2)题解class Solution: def climbStairs(self, n: int) -> int: if n<3:return n DP=[i+1 for i in range(n)] for i in

2022-02-25 23:02:52 60

原创 Unique Paths

Source: Unique Paths - LeetCode状态转移方程DP[i][j]=DP[i−1][j]+DP[i][j−1]DP[i][j]=DP[i-1][j]+DP[i][j-1]DP[i][j]=DP[i−1][j]+DP[i][j−1]题解class Solution: def uniquePaths(self, m: int, n: int) -> int: DP=[[1 for i in range(n)] for j in range(m)]

2022-02-25 23:02:14 62

原创 Minimum Path Sum

Source: Minimum Path Sum - LeetCode状态转移方程题解class Solution: def minPathSum(self, grid: List[List[int]]) -> int: m=len(grid);n=len(grid[0]) for i in range(m): for j in range(n): if i==j==0:

2022-02-25 23:01:04 38

原创 Maximum Subarray

Source: Maximum Subarray - LeetCode状态转移方程题解class Solution: def maxSubArray(self, nums: List[int]) -> int: n=len(nums) for i in range(1,n): nums[i]=max(nums[i],nums[i] + nums[i - 1]) return max(nums)...

2022-02-25 22:59:26 46

原创 最长公共子序列

Source: 最长公共子序列 - 蓝桥云课 (lanqiao.cn)题解pythonN,M=map(eval,input().split())a=input().split()b=input().split()DP=[ [0 for i in range(M+1)] for j in range(N+1)]for i in range(1,N+1): for j in range(1,M+1): if a[i-1]==b[j-1]: DP[

2022-02-25 22:52:43 39

原创 小明的背包1

Source: 小明的背包1 - 蓝桥云课 (lanqiao.cn)题解pythonN,V=map(eval,input().split())# dp[Num][Weight]dp=[ [0 for i in range(V+1)] for j in range(N+1)]for i in range(1,N+1): w, v = map(eval, input().split()) for j in range(1,V+1): if w>j: #ove

2022-02-25 22:48:40 115

原创 P1125 [NOIP2008 提高组] 笨小猴

P1125 [NOIP2008 提高组] 笨小猴题目描述笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入格式一个单词,其中只可能出现小写字母,并且长度小于100。输出格式共两行,

2022-01-26 21:31:58 314

原创 P1319 压缩技术

P1319 压缩技术题目描述设某汉字由N × N的0和1的点阵图案组成。我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下。第一个数表示连续有几个0,第二个数表示接下来连续有几个1,第三个数再接下来连续有几个0,第四个数接着连续几个1,以此类推……例如: 以下汉字点阵图案:0001000000100000011110001000000100000010001111111对应的压缩码是: 7 3 1 6 1 6 4 3 1

2022-01-26 21:31:29 276

原创 P1320 压缩技术(续集版)

P1320 压缩技术(续集版)题目描述设某汉字由N × N的0和1的点阵图案组成。我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下。第一个数表示连续有几个0,第二个数表示接下来连续有几个1,第三个数再接下来连续有几个0,第四个数接着连续几个1,以此类推……例如: 以下汉字点阵图案:0001000000100000011110001000000100000010001111111对应的压缩码是: 7 3 1 6 1 6

2022-01-26 21:30:16 280

原创 P1914 小书童——凯撒密码

P1914 小书童——凯撒密码题目背景某蒟蒻迷上了“小书童”,有一天登陆时忘记密码了(他没绑定邮箱or手机),于是便把问题抛给了神犇你。题目描述蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成。密码是由原文字符串(由不超过 50 个小写字母组成)中每个字母向后移动 n 位形成的。z 的下一个字母是 a,如此循环。他现在找到了移动前的原文字符串及 n,请你求出密码。输入格式第一行:n。第二行:未移动前的一串字母输出格式一行,是此蒟蒻的密码输入输出样例输入 #1复制1qwe输出 #

2022-01-26 21:29:46 222

原创 P1957 口算练习题

P1957 口算练习题题目描述王老师正在教简单算术运算。细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习。 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量,比如5+8的算式最好只要输入5和8,输出的结果要尽量详细以方便后期排版的使用,比如对于上述输入进行处理后输出 5+8=13 以及该算式的总长度6。王老师把这个光荣的任务交给你,请你帮他编程实现以上功能。输入格式第一行为数值i接着的i行为需要输入的算式,每行可能有三个数据或两个

2022-01-26 21:29:24 250

原创 P5733 【深基6.例1】自动修正

P5733 【深基6.例1】自动修正题目描述大家都知道一些办公软件有自动将字母转换为大写的功能。输入一个长度不超过 100 且不包括空格的字符串。要求将该字符串中的所有小写字母变成大写字母并输出。输入格式无输出格式无输入输出样例输入 #1复制Luogu4!输出 #1复制LUOGU4!题解pythonprint(input().upper())c++#include <bits/stdc++.h>using namespace std;int main(

2022-01-26 21:28:23 1334

原创 P1789 【Mc生存】插火把

P1789 【Mc生存】插火把题目背景初一党应该都知道…题目描述话说有一天 linyorson在“我的世界开了ー一个nxn(n≤100)的方阵,现在他有m个火把和k个萤石,分别放在(x1,y1)(xm,ym)和(o1,p1)(ok,pk)的位置,没有光或没放东西的地方会生成怪物。请问在这个方阵中有几个点会生成怪物?P.S. 火把的照亮范围是: |暗|暗| 光 |暗|暗| |暗|光| 光 |光|暗| |光|光|火把|光|光| |暗|光| 光 |光|暗| |暗|

2022-01-25 23:23:33 1355

原创 P5731 【深基5.习6】蛇形方阵

P5731 【深基5.习6】蛇形方阵题目描述给出一个不大于 9 的正整数 n,输出n×n 的蛇形方阵。从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。输入格式无输出格式无输入输出样例输入 #1复制4输出 #1复制 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7题解我没有用常规的算法做,而是模拟,像是在玩贪吃蛇,一碰到边或是已填充的就转弯python

2022-01-25 23:22:56 1330

原创 P5732 【深基5.习7】杨辉三角

P5732 【深基5.习7】杨辉三角题目描述给出n(n≤20),输出杨辉三角的前 n 行。如果你不知道什么是杨辉三角,可以观察样例找找规律。输入格式无输出格式无输入输出样例输入 #1复制6输出 #1复制11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1题解pythonimport mathn=eval(input())def pascal(n:int,m:int): return math.factorial(n)//(mat

2022-01-24 23:51:42 746

原创 P1161 开灯

P1161 开灯题目描述条无限长的路上,有排无限长的路灯,编号为1231每一盏灯只有两种可能的状态,开或者关。如果按一下某一盏灯的开关,那么这盏灯的状态将发生改变如果原来是开,将变成关。如果原来是关,将变成开在刚开始的时侯,所有的灯都是关的。小明每次可以进行如下的操作指定两个数,a,t(a为实数,为正整数)。将编号为a,2×a,3×a,txa的灯的开关各按一次。其中시表示实数k的整数部分在小明进行了m次操作后,小明突然发现,这个时候只有一盏灯是开的,小明很想知道这盏灯的编号,可是这盞灯离小

2022-01-23 23:54:03 340

原创 P1614 爱与愁的心痛

P1614 爱与愁的心痛 题目背景(本道题目隐藏了两首歌名,找找看哪《爱与愁的故事第一弹 heartache》第一章。《我为歌狂》当中伍思凯神曲《舞月光》居然没療给萨顶顶,爱与愁大神心痛啊一一而且最近还有一些令伤心的事情,都让人心痛(最近真的很烦哈题目描述最近有n个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续m个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他输入格式第一行有两个用空格隔开的整数,分别代表n和m第2到第(n+1)行

2022-01-23 23:53:32 855

原创 P2911 [USACO08OCT]Bovine Bones G

P2911 [USACO08OCT]Bovine Bones G题目描述Bessie loves board games and role-playing games so she persuaded Farmer John to drive her to the hobby shop where she purchased three dice for rolling. These fair dice have S1, S2, and S3 sidesrespectively (2 <= S1

2022-01-23 23:53:05 146

原创 P1554 梦中的统计

P1554 梦中的统计题目背景Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。题目描述Bessie的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0…9):每一个数码在计数的过程中出现过多少次?给出两个整数 M 和 N (1≤M≤N≤2×109以及N−M≤5×1051 \leq M \leq N \leq 2 \times 10^9 以及 N-M \leq 5 \times 10^51≤M≤N≤2×109以及N−M≤5×105),求每一个数码出

2022-01-22 23:52:20 621

原创 P2141 [NOIP2014 普及组] 珠心算测验

P2141 [NOIP2014 普及组] 珠心算测验题目描述珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?最近老师出了一些测验题,请你帮忙求出答案。(本题目为2014NOIP普及T1)输入格式共两行,第一行包含一个整数

2022-01-22 23:51:47 177

原创 P2615 [NOIP2015 提高组] 神奇的幻方

P2615 [NOIP2015 提高组] 神奇的幻方题目描述幻方是一种很神奇的 N∗N 矩阵:它由数字1,2,3,⋯⋯,N×N 构成,且每行、每列及两条对角线上的数字之和都相同。当 N 为奇数时,我们可以通过下方法构建一个幻方:首先将 1 写在第一行的中间。之后,按如下方式从小到大依次填写每个数K(K=2,3,⋯,N×N) :若 (K-1) 在第一行但不在最后一列,则将K填在最后一行, (K-1) 所在列的右一列;若 (K-1) 在最后一列但不在第一行,则将K填在第一列, (K-1) 所在行

2022-01-22 23:51:19 1781

原创 P5730 【深基5.例10】显示屏

P5730 【深基5.例10】显示屏题目描述液晶屏上,每个阿拉伯数字都是可以显示成 3×5 的点阵的(其中 X 表示亮点,. 表示暗点)。现在给出数字位数(不超过 100)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。输入格式无输出格式无输入输出样例输入 #1复制100123456789输出 #1复制XXX...X.XXX.XXX.X.X.XXX.XXX.XXX.XXX.XXXX.X...X...X...X.X.X.X..

2022-01-22 23:50:44 516

空空如也

空空如也

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

TA关注的人

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