自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 问答 (1)
  • 收藏
  • 关注

原创 经典题目和算法

3)如果得到的子矩阵的权值和大于 k,则慢指针s 前进,而子矩阵和必将单调不增,慢指针s 继续前进(如图),直到子矩阵的和不大于k,慢指针没必要前进了,因为该子矩阵的所有宽度为 j - i + 1的子矩阵(总共 t - s + 1种)一定满足要求,更新该情况对答案的贡献 t - s + 1;反之,如果慢指针s越界(s > t),则不操作,直接进入下层循环。2)用快指针t枚举子矩阵的下边界,慢指针s维护子矩阵的上边界 (s≤t)1)枚举子矩阵的 左边界i 和 右边界j,前缀和+双指针O(n^3)

2023-03-17 22:25:26 471 1

原创 总结一下常用的算法

总结我自己常用的算法

2022-07-22 01:26:15 790

原创 2019年第十届蓝桥杯A组国赛(C/C++)

A. 三升序列(5 分)答案:VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAGSDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASATDWZAPZRNHTNNGQFZGUGXVQDQAEAHOQEADMWWXFBXECKAVIGPTKTTQFWSWPKRPSMGABDGMGYHAOPPRRHKYZCMFZEDELCALTBSWNTAODXYVHQNDASUFRLYVYWQZUTEPFSFXLTZBMBQETXGXFUEBHG.

2022-03-21 00:12:27 1155

原创 2020年第十一届蓝桥杯A组国赛(C/C++)

A. 合数个数(5 分)答案:1713试题 A: 合数个数(5 分)【问题描述】一个数如果除了 1 和自己还有其他约数,则称为一个合数。例如:1, 2, 3不是合数,4, 6 是合数。请问从 1 到 2020 一共有多少个合数。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。思路:1~2020共有2020个数,因此我们只要求出素数的个数,结果便是2020-素数个数。#include<.

2022-03-04 00:27:10 1918

原创 2021年第十二届蓝桥杯A组国赛(C/C++)

A. 纯质数(5分)答案:1903思路:欧拉筛。 由于20210605是一个八位数,即使是埃及筛的O(nlognlogn)也是会挺慢的,当然本题只需要求出结果即可;所以在不会欧拉筛的情况下可以利用埃及筛或O(n^2)的暴力判断素数。我使用的是时间复杂度为O(n)的欧拉筛;然后枚举1~20210605之间每一个素数,判断其每一位是否是素数,若是,则结果加一。#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3

2022-02-27 23:58:53 3580 2

原创 2017年第八届蓝桥杯A组省赛

A.迷宫(5分)答案:31试题 A: 迷宫本题总分:5 分【问题描述】X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到下坡方向的房间。X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。

2022-02-12 22:24:45 8138 3

原创 2018年第九届蓝桥杯A组省赛

A.分数(5分)答案:1048575/524288试题 A: 分数本题总分:5 分【问题描述】1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。类似:3/2当然,这只是加了前2项而已。分子分母要求互质。【答案提交】需要提交的是已经约分过的分数,中间任何位置不能含有空格。请不要填写任何多余的文字或符号。思路:签到题。 由于要加前20项,所以最后一项便是1/(2^19);我们将每一项通分成

2022-02-10 01:05:00 10089 2

原创 2019年第十届蓝桥杯A组省赛

A.平方和(5分)答案:2658417853试题 A: 平方和本题总分:5 分【问题描述】小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362。注意,平方和是指将每个数分别平方后求和。请问,在 1 到 2019 中,所有这样的数的平方和是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多

2022-02-06 14:45:57 1520 3

原创 Codeforces Round #768 (Div. 2)(A,B,C,D)

A. Min Max Swap思路:为了使两个序列最大值的乘积最小,我们可以将同一个位置比较大的元素全部放在系列a中,比较小的全部放在b中,这样两个序列最大值的乘积一定最小。#include<bits/stdc++.h>using namespace std;#define INF 0x7ffffffftypedef long long ll;const int maxn=2e5+100;int main(){ iostream::sync_with_stdio(false

2022-01-28 23:33:57 938

原创 2020年第十一届蓝桥杯A组省赛

A.门牌制作(5分)答案:624分析:送分题,直接遍历1~2020之间每一个数,分析该整数的每一位,计算2的个数。#include<bits/stdc++.h>using namespace std;int main(){ int cnt=0; for(int i=1;i<=2020;i++){ int x=i; while(x){ if(x%10==2) cnt++; x/=10; } } cout<<cnt<<e

2022-01-27 13:52:12 5612

原创 Codeforces Round #767 (Div. 2)(A、B、C、D、E)

蒻蒻掉分了,又回到了曾经的灰名,害,只能借鉴大佬的思路照猫画虎了。。。A. Download More RAM分析:直接暴力。由于n的范围比较小,可以直接用while循环判断是否现在还有没有可能增加RAM,若果没有则跳出循环,否则就让K=k+ram.#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ int n,k,a[105],b[105]; c

2022-01-24 00:39:58 488

原创 2021年第十二届蓝桥杯A组省赛

时隔9个月,终于想起补题了编程题F题 砝码称重(15分)分析:第一道编程题,肯定不会太难,直接暴力。由于砝码的总重量w为1~100000,我们可以开一个标记数组visit[100010],记录是否某一个重量 i 可以达到。由于砝码的个数n为1~100,我们可以遍历每一个砝码,并且开通辅助动态数组vector< int > g,g用来存储现在可以称出的重量 。对每一个砝码进行以下三种处理:1. 只称当前砝码重量,若未标记则加入g中。2. 将当前砝码重量与g中每一个可能出现的砝码

2022-01-13 15:12:04 7427

原创 Codeforces Round #764 (Div. 3)

A. Plus One on the Subset分析:由于一次可以选中任意多个元素加一;所以本题其实要求的就是序列中最大值和最小值的差。AC代码:#include<bits/stdc++.h>using namespace std;#define INF 0x7fffffffint main(){ int t;cin>>t; while(t--){ int n,minn=INF,maxx=-INF; cin>>n; for(int i=

2022-01-11 11:10:14 331 1

原创 2021团体天梯赛题解

L1-01 人与神 (5 分)分析:无脑题,直接干#include<iostream>using namespace std;int main(){ cout<<"To iterate is human, to recurse divine."; return 0;}L1-02 两小时学完C语言 (5 分)分析:简单减法题。#include<iostream>using namespace std;int main(){

2022-01-07 10:51:43 990

原创 Hello 2022

A. Stable Arrangement of RooksB. Integers ShopC. Hidden PermutationsD. The Winter HikeF. Strange InstructionsG. Weighted Increasing SubsequencesH. Trains and AirplanesI. Two SequencesA. Stable Arrangement of Rooks分析:新年第一发,肯定不难。一道简单思维题。首先,不难发现,当

2022-01-05 00:09:43 440

原创 2020年ICPC上海区域赛

B. Mine Sweeper IIAC代码:#include<bits/stdc++.h>using namespace std;int main(){ int n,m,ans=0;cin>>n>>m; char a[1005][1005],b[1005][1005]; for(int i=1;i <= n;i++) cin>>a[i]+1; for(int i=1;i <= n;i++) cin>>b[i]+1;

2021-11-06 10:49:38 247

原创 2021年ICPC第二场网络赛

G.Limit分析:这是一道实在的数学题,需要一定的高数思维和基础。看到0<=t<=5就应该想到,分子应该可以等价替换成一个与x的指数有关的表达式。那应该是什么表达式呢?没错,就是泰勒公式展开式。ln(1+x)=x-x^ 2/2+x ^3/3-x ^4/4+x ^5/5+…+(-1) ^(n-1)/n+…想到这,这道题就已经没有难度了,只需要带进去看一下表达式就会发现接下来就是一道普通遍历的题了。AC代码如下:#include<bits/stdc++.h>usin

2021-10-24 11:31:46 463

原创 2021年CCPC网络赛(原赛和复赛)

1001.Cut The Wire二级目录三级目录1001.Cut The Wire

2021-10-16 00:38:34 840

原创 Codeforces Round #735 (Div. 2)(全部题解)

A. CherryB. CobbC. MikasaD. DianeE. YouA. Cherry分析:这道题需要求出在整个数组范围内,某一区间内的最大值乘于最小值所得的值的最大值。我们记录某一区间内的最大值乘于最小值所得的值的最大值为rmq;假设我们考虑三个相邻的的数 a[i] 和 a[i+1]和a[i+2](此时所考虑的区间为[i,i+2]),计算出该区间的rmq为ans。我们将区间分解为两个区间[i,i+1]和[i+1,i+2],区间1的rmq为r1,区间2的rmq为r2;那么ans和

2021-09-26 10:10:47 235

原创 Codeforces Round #710 (Div. 3)(全部题解)

全部题目与链接A. Strange TableB. Partial ReplacementC. Double-ended StringsD. Epic TransformationE - Restoring the PermutationF. Triangular PathsG. Maximize the Remaining StringA. Strange Table分析:这是一道简单的签到题,可以通过找规律轻松写出。我们可以首先找到所在数字的列c,用x去除以n,如果能整除,那么x所

2021-09-10 22:36:25 245 1

原创 p4168 蒲公英(离散化+分块+前缀和)

[洛谷p4168 蒲公英]这是蒻蒻写的第一道紫题,必须记住这个时刻.题目背景亲爱的哥哥:你在那个城市里面过得好吗?我在家里面最近很开心呢。昨天晚上奶奶给我讲了那个叫「绝望」的大坏蛋的故事的说!它把人们的房子和田地搞坏,还有好多小朋友也被它杀掉了。我觉得把那么可怕的怪物召唤出来的那个坏蛋也很坏呢。不过奶奶说他是很难受的时候才做出这样的事的……最近村子里长出了一大片一大片的蒲公英。一刮风,这些蒲公英就能飘到好远的地方了呢。我觉得要是它们能飘到那个城市里面,让哥哥看看就好了呢!哥哥你要快点回来哦!

2021-09-08 20:40:59 153

原创 Codeforces Round #686 (Div. 3)(全部AC代码和E.F两题详细题解)

A. Special Permutationinputstandard inputoutputstandard outputYou are given one integer n (n>1).Recall that a permutation of length n is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permut

2021-09-05 18:59:52 454 1

原创 浅谈对顶栈,单调栈,对顶堆

单调栈定义:从栈顶到栈底保持一个单调递增或者单调递减的顺序的栈。(本质上还是一个栈)实际作用:用于找到序列中某一个元素左边第一个比它大(或者小 的元素的位置和 右边第一个比他它小(或者大) 的元素的位置。效率:由于序列中每个元素最多进出栈一次,所以时间复杂度是O(n).大致图形: 以序列 1 4 5 2 7为例那么我们应该如何维护单调栈呢?竟然已经知道了它的内部逻辑,我们不妨按照以下的步骤去维护这个栈。(假设以单调递增栈为例),对于一个无序序列,我们从头开始遍历。如果栈为空或者当前元素小于

2021-09-03 18:32:21 1243

原创 基于DAG模型的最长(短)路问题

基于DAG模型的最长(短)路问题题目一:城市里的间谍(UVA1025)某城市地铁是一条直线,有 n(2≤n≤50)个车站,从左到右编号 1…n。有M1辆列车从第 1 站开始往右开,还有 M2 辆列车从第 n站开始往左开。列车在相邻站台间所需的运行时间是固定的,因为所有列车的运行速度是相同的。在时刻 T=0,Mario 从第 1 站出发,目的在时刻 T(0≤T≤200)会见车站 n 的一个间谍。在车站等车时容易被抓,所以她决定尽量躲在开动的火车上,让在车站等待的时间尽量短。列车靠站停车时间忽略不计,且

2021-08-31 19:56:02 371 4

原创 CF1493D GCD of an Array(STL+维护质因数)

CF1493D GCD of an Array(STL+维护质因数)You are given an array a of length n. You are asked to process q queries of the following format: given integers i and x, multiply ai by x.After processing each query you need to output the greatest commondivisor (GCD)

2021-08-30 20:19:31 125

原创 基于链表的的学生管理系统

基于链表的的学生管理系统一、实验内容编写并调试程序,实现学校各专业班级学生信息的管理。将10个学生的信息存储在文件studentInit.dat中;并定义学生信息的结构体类型,包括:学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。#define N 10struct Student{char num[15];//学号char name[15];//姓名char major[10];//专业(computer,software,network)int classNo;//班级(1-2

2021-07-24 10:23:36 3413 1

原创 基于数组的学生管理系统

基于数组的学生管理系统一、实验内容编写并调试程序,实现学校各专业班级学生信息的管理。将10个学生的信息存储在文件studentInit.dat中;并定义学生信息的结构体类型,包括:学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。#define N 10struct Student{char num[15];//学号char name[15];//姓名char major[10];//专业(computer,software,network)int classNo;//班级(1-2)

2021-07-24 10:15:14 4398 9

原创 球球大作战JAVA小游戏

球球大作战JAVA小游戏一、功能实现:游戏简介:这是一款规则简单的球类游戏,在这个球球的世界里,大球吃小球,努力生存,努力成长是你唯一的目标。实现方式:首先定义一个窗口类Gameframe以及游戏面板类GamePanel去实现游戏窗口的描绘;再通过paint方法去drawPaint绘制小球。然后,再定义一个小球类Ball,将小球的x,y坐标以及小球的直径d、移动方向direction、移动速度speed、颜色ballColor等属性封装到该类中。再定义一个ArrayList容器将多个小球进行封装,

2021-06-24 10:22:05 1796 2

原创 JAVA各大练习题

JAVA各大练习题1. 应用程序的main方法中有以下语句,输出结果是什么( A )String s1=new String(“AAA”);String s2=new String(“AAA”);boolean b1=s1.equals(s2);boolean b2=(s1==s2);System.out.print(b1+" "+b2);A. true falseB. false trueC. true trueD. false false2.创建字符串Strin.

2021-06-17 12:54:45 2887

原创 JAVA笔记(划重点)

..

2021-05-27 23:07:25 210

空空如也

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

TA关注的人

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