自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷--过河卒

题目注意数据太大要用long long#include<cstdlib>#include<iostream>using namespace std;long long chess[22][22];bool judge[22][22];int main(){ int n,m,N,M; cin >> n >> m >> N >> M; judge[N+1][M+1] = true; for(

2022-03-09 09:59:29 236

原创 新二叉树 p1305——洛谷

题目链接注意题目不是按照广度优先给出节点的,比如a下面左b右c,有可能下一个会给c的信息而不是b的#include <iostream>using namespace std;typedef struct t{ char c; t *right = NULL; t *left = NULL;}tree,*Tree;Tree createTree(){ Tree Trees = new tree; return Trees;}Tree T

2022-03-03 17:41:54 505

原创 合并排序和快速排序2021年12月16日

合并排序:1、算法思想:将待排序的元素分成两个规模大小一致的集合,分别对这两个集合进行排序,最后合并两个集合,回到最初的规模大小,以完成排序。合并排序重点在合并。复杂度分析:暂略main.cpp:#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>using namespace std;void mergesort(int a[],int left,int

2021-12-16 17:25:59 171

原创 N皇后问题2021年12月14日

Description在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample Input1850Sample Output19210ac:#include<ios

2021-12-14 21:59:16 98

原创 类如何存放在多文件并可以使用(2021-9-20)

开发工具eclipse一些需要注意的东西创建类的时候需要注意下创建路径,举个例子,如下图所示注意看CLASS.java是在study/src下的,而src下可以看到还有study和MathinGame两个文件夹,这两个文件夹这就是“包”package包的概念还不太理解,但是经过摸索发现一个有趣的事情在src的study包内的java文件必须要带上package + 自身包名才能运行,但是目录直接在src下的java文件则不需要,如果只是写一份代码用来写作业交题目的话直接在new界面建cla

2021-09-20 16:58:14 584

原创 javaRandom类的使用(2021-09-20)

参考了一篇文章1、导包(import)import java.util.Random;//random类,导包2、创建,实例化Random rand = new Random();3,使用方法int ans = rand.nextInt(1000)+1;//生成【0,1000)的整数写了一段猜1-1000的数的代码package study;import java.util.Random;//random类,导包import java.util.Scanner;//scanne

2021-09-20 15:16:25 302

原创 安装eclipse

安装eclipse前提是先安装jdk而且版本不要太老eclipse网址https://www.eclipse.org/downloads/点击download packages点windows x86_64如果和图中download from一样不是China,选select another mirror选大连东软这个,日本或其他的来源可能下载速度会很慢很多下载出这个东西,进入安装就行了进去会有许多选项,选这个,安装速度有点慢。。。安装之后打开就行了他会让你选一个路径保存

2021-09-01 09:20:33 108

原创 java jdk 16.0.2环境安装

java jdk 16.0.2环境安装https://www.oracle.com/java/technologies/javase-jdk16-downloads.html选择win x64 installer环境变量编辑path最底下一行应该是你安装jdk的目录加上\bin检查安装情况,可以徽标键+R打开命令提示符输入cmd,输入java -version显示出版本号16.0.2,就说明安装成功...

2021-08-31 17:38:51 277

原创 RMQ算法学习笔记

QMD算法是什么?QMD算法是怎么工作的?QMD的时间空间复杂度?QMD算法的预处理是怎么处理的?QMD经典题目以及样例详细分析:

2020-09-17 22:19:07 235

原创 manacher算法学习记录

manacher算法算法作用:算出一个字符串中最长的回文子字符串(有时也被表述成最长连续的子序列)如果用最暴力的算法,就是确定一个字符串然后一点一点往两边找,最差情况就是整个字符串由一个字符形成,时间复杂度是O(n2)manacher算法可以将时间复杂度变为O(n)我们先明确一下什么是回文:回文指的是从后往前读和从前往后读一致的字符串例如:“aaaa”、“abba”、"ababa"等等我们可以看到,回文分为字符数量为奇数的和字符数量为偶数的,下面就称作奇回文和偶回文那么就算是上面提到的从每

2020-09-04 00:33:29 133

原创 枚举训练:G题 Guest Student

题目来源#include<iostream>#include<cstdio>#include<algorithm>#include<cstdlib>#define MAX_N 100007typedef long long ll;using namespace std;ll Laze, human;ll temp_max;ll laze[MAX_N];ll times[MAX_N];ll best[MAX_N];//下标号工作的最优情

2020-08-03 19:13:06 178

原创 左移运算符的优先级问题

German Collegiate Programming Contest 2019H题:Jazz Enthusiast输入两个数n1,n2;题目大意是输入n1个时间(例如14分25秒是14:25,1小时是1:00:00,不是那种标准的24小时计时法)代表歌单内歌曲的时长,说是听歌的人喜欢把一首歌临近结束的n2秒剪掉,让你编一个程序决定他剪掉时间后还能听多长时间,最后一首歌结尾不剪掉#include<iostream>#include<cstdio>#include&lt

2020-08-01 14:23:35 1179

原创 2020年7月17日icpc集训C题:Fractal

分形:是物体在数量上,内容上"自相似"的一种数学抽象;(大概理解下就是部分跟整体相似,不断套娃)本题是对递归的应用这道题注意两点:(一)递归边界:n=1时,只在对应坐标点一个X;(二)分形模式:左上右上中间右上右下一定是对于当前坐标而言的,因此写递归的时候要记得加上x或者y#include<cstdio>#include<iostream>#include<cmath>#define M 729//3的6次方using namespace std;

2020-07-19 21:50:28 256

原创 2020年7月17日icpc集训F题——苏丹的继承者

本质上就是八皇后问题然后枚举最大值就行了添加链接描述#include<iostream>#include<cstdio>using namespace std;bool chess[100][8][8];int cnt;bool temp[8][8];bool leftd[15];bool rightd[15];bool jud[8];int score[8][8];void copy() { for (int i = 0; i < 8; i++)

2020-07-18 20:06:33 189

原创 2020年7月17日icpc集训J题:UVA-750八皇后问题

#include<cstdio>#include<cstring>#include<iostream>using namespace std;char chessBorad[100][8][8];char temp[8][8];int leftd[15];//左对角线int rightd[15];//右对角线bool jud[8];int ans;//记录一共有几种结果void copy() { for(int i=0;i<8;i++)

2020-07-18 10:50:16 230

原创 2020年7月17日icpc集训A题——递归与回溯POJ1664

题面如图所示思路当盘子比苹果多–>必然有盘子是空的–>空盘子有没有都一样(因为没有顺序差别)–>直接把盘子变得和苹果一样多当盘子不比苹果多–>可以做到让所有盘子都不空或者刻意让一些盘子空–>结果=让盘子空+不让盘子空让盘子空–>当盘子只剩一个–>所有果子只放一个盘子–>一种可能不让盘子空–>每个盘子都放一个–>当果子没了–>果子分完了–>一种可能#include<cstdio>#include<iost.

2020-07-18 07:27:05 184

原创 2020年7月17日ICPC训练联盟——递归与回溯

2020年7月17日ICPC训练联盟——递归与回溯递归:程序调用自身的编程技巧叫做递归,是子程序再起定义或说明中直接或间接调用自身的一种方法简称:我调用我自己视觉形式:德罗斯特效应德罗斯特效应(Droste effect)是递归的一种视觉形式,是指一张图片的某个部分与整张图片相同,如此产生无限循环。递归就是将一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解因此只需要少量的程序代码就可以描述出解题过程中需要的多次重复计算,使程序更加简洁清晰递归算法一般用于解决三类问题:1

2020-07-17 20:13:03 372

原创 枚举算法思路训练:poj2965

继poj1753继续训练枚举算法:这道题相比1753有两个改变:一、从小十字变成了大十字(从改变一个点的上下左右变成了一个点的整行整列),这个倒是不难做,执行函数稍微改一下就行二、题目直接让你输出改变的点(这道题是special judge),不过我直接把1753的寻找最小步数的思路拿来了,其实只要找到全部为open的一个解就行了思路差不多,不多解释了,直接上代码(吐槽一下edge,贴代码总是崩溃,google不会崩)#include<stack>#include<iostre

2020-07-16 22:04:44 129

原创 枚举算法思路训练:poj1753

从知乎找到一份训练大纲,先按照这个练习吧poj1753大意是4×4的棋盘上,不断黑白面的翻转自己和上下左右(如果有棋子的话),如果有可能翻到只有一种颜色,那么算出来最少翻几个棋子就可以做到只有一种颜色枚举的思想是不断地猜测,从可能的集合中一一尝试,然后再判断题目的条件是否成立。oiwiki是这么说的。。。。不过“从可能的集合中一一尝试”这段话引起了我的注意,原因后面再说先说一下我的思路吧:既然是4×4的棋盘,那么翻棋子最多可能就是16个棋子每个棋子都翻一遍因为一个棋子翻两遍等于没翻所以最初

2020-07-14 21:48:35 225

原创 高精度算法

题目描述 计算机的基本功能是计算,作为一个计算机爱好者,Ivy当然知道如何编写一个计算机程序,让计算机能进行简单的计算。之所以简单,因为Ivy的程序只需根据输入的两个正整数,根据要求计算这两个数的和或者差即可(所有输入数据确保x>=y)。 输入 输入共有三行。第一行包含一个正整数x,第二行包含一个正整数y,第三...

2020-04-02 23:09:32 145

原创 并查集入门:HDU1232畅通工程

题目描述

2020-03-31 17:11:51 110

原创 set+并查集的碰撞:HDU1272

首先把一篇很好的set总结贴在这里

2020-03-31 17:01:29 211

原创 二叉树的先序构造以及递归版本的先序遍历

很多时候不是你笨,而是你懒得下功夫学习

2020-03-31 07:31:28 123

原创 【待完善】map的应用,洛谷P2580

天道酬勤,熟能生巧

2020-03-24 18:19:10 146

原创 欧拉筛

算术基本定理

2020-03-23 23:18:38 92

原创 POJ2251 Dungeon Master

天道酬勤 熟能生巧

2020-03-22 20:27:28 101

原创 POJ3278-Catch That Cow

天道酬勤 熟能生巧

2020-03-22 17:53:42 106

原创 HDU1495非常可乐

天道酬勤 熟能生巧

2020-03-21 20:45:26 176

原创 poj1321棋盘问题

题目链接Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n &...

2020-03-19 07:50:14 272

原创 出栈序列

题目按照1到N的顺序入栈,但是不知道什么时候出栈,给你一列数,问你有没有可能是出栈序列#include<stack>#include<iostream>#include<string>#include<vector>#include<cstring>using namespace std;bool ARR[10007];/...

2020-03-17 17:03:22 250

原创 递归实现组合型枚举

题目来源题目描述从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。n>0n \gt 0n>0, 0≤m≤n0 \leq m \leq n0≤m≤n, n+(n−m)≤25n+(n-m)\leq 25n+(n−m)≤25。输入描述:两个整数n,m。输出描述:按照从小到大的顺序输出所有方案,每行1个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次...

2020-03-17 14:11:19 204

原创 洛谷P1706全排列问题

题目描述输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。输入格式一个整数 n。输出格式由 1∼n 组成的所有不重复的数字序列,每行一个序列。每个数字保留 5 个场宽。输入输出样例输入:3输出:1 2 31 3 22 1 32 3 13 1 23 ...

2020-03-17 10:16:19 521

原创 埃氏筛

先贴代码#include<stdio.h>int a[1000];int main(){ int i,j; for(i=2;i<=1000;i++)//素数是大于1的,切记。判断可以写成i<=500,省一半循环 for(j=i+i;j<=1000;j+=i){//j是i的倍数 if(a[j]==0)//如果没被标记 a[j]=1;//标记...

2020-03-16 11:54:08 157

原创 快速幂

讲完快速乘了,把快速幂的原理一说贴代码就完了快速幂本质貌似是利用二进制优化去减少乘法的运算次数,快速乘是质变(运算方式的改变),而快速幂是量变,运算次数把n变成logn因为最简单的想法就是跑一个for循环,去计算幂 for(i=1;i<50;i++) res = a*a;//计算a的50次方 那么用二进制优化优化之后就是。。。。#include<bits/stdc++....

2020-03-16 11:01:34 112

原创 快速乘

因为计算机算加法的时间比算乘法的时间快得多(这貌似是学汇编才能明白原因?反正我不懂)所以我们如果能把乘法尽可能的用加法达到同样的效果,就可以缩短计算时间我们知道,任何一个数(这里指正整数)都可以用二进制表示,所以如果把一个数拆分成他的二进制就是一堆0和1:例如:8(D)=1000(B)16(D) = 10000(B)书面约定可以用字母来表示数字的对应进制D 十进制B 二进制O 八进制...

2020-03-16 10:51:20 166

原创 中石油竞赛—大数(string类)

题目小七是一个很可爱很努力的女孩子。她对大数的运算非常感兴趣,在学习了几天之后,终于精通了大数的加减乘除。但是自从她学会了 JAVA ,她觉得大数实在是太简单太无聊了,因为运用 JAVA 中 BigInteger 大整数类,可以轻松实现大数的加减乘除。某一天她突然发现,很多大数的题目的数据都有规律。这些数都是由比他小的某个数重复构成,比如说 121212 由 12重复构成 ,233233 ,由2...

2020-03-08 23:20:52 108

原创 中石油竞赛--奎奎发红包

奎奎发红包题目:情人节又到了,又到了一年一度发红包的时间。经大家研究决定,今年让奎奎自愿发红包。俱乐部有n个人(0<n<100000),每个人都有一个单身值v[i]与亲密度ti,单身值越大的人,在情人节的时候就越羡慕奎奎,奎奎就需要给他更大的红包来安慰他。 由于一个寒假没有见到奎奎,领红包的时候大家都想跟奎奎py,花费时间t[i],先py后给红包噢。大家都厌倦了等待,如果一个人...

2020-03-08 23:11:47 189

原创 用刚学的stl写约瑟夫环

刚刚学了c++的STL,用vector对元素删除的遍历,写约瑟夫环的实现过程先把题目和代码贴出来,然后我们慢慢分析题目描述Descriptionn 个小孩围坐成一圈,并按顺时针编号为1,2,…,n,从编号为 p 的小孩顺时针依次报数,由1报到m ,当报到 m 时,该小孩从圈中出去,然后下一个再从1报数,当报到 m 时再出去。如此反复,直至所有的小孩都从圈中出去。请按出去的先后顺序输出小孩的编...

2020-03-08 22:57:20 302 3

空空如也

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

TA关注的人

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