
学习笔记
sdibt_xhx
这个作者很懒,什么都没留下…
展开
-
洛谷--过河卒
题目注意数据太大要用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 · 267 阅读 · 0 评论 -
新二叉树 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 · 519 阅读 · 0 评论 -
合并排序和快速排序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 · 185 阅读 · 0 评论 -
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 · 111 阅读 · 0 评论 -
类如何存放在多文件并可以使用(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 · 631 阅读 · 0 评论 -
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 · 317 阅读 · 0 评论 -
安装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 · 116 阅读 · 0 评论 -
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 · 326 阅读 · 0 评论 -
RMQ算法学习笔记
QMD算法是什么?QMD算法是怎么工作的?QMD的时间空间复杂度?QMD算法的预处理是怎么处理的?QMD经典题目以及样例详细分析:原创 2020-09-17 22:19:07 · 254 阅读 · 0 评论 -
manacher算法学习记录
manacher算法算法作用:算出一个字符串中最长的回文子字符串(有时也被表述成最长连续的子序列)如果用最暴力的算法,就是确定一个字符串然后一点一点往两边找,最差情况就是整个字符串由一个字符形成,时间复杂度是O(n2)manacher算法可以将时间复杂度变为O(n)我们先明确一下什么是回文:回文指的是从后往前读和从前往后读一致的字符串例如:“aaaa”、“abba”、"ababa"等等我们可以看到,回文分为字符数量为奇数的和字符数量为偶数的,下面就称作奇回文和偶回文那么就算是上面提到的从每原创 2020-09-04 00:33:29 · 143 阅读 · 0 评论 -
枚举训练: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 · 191 阅读 · 0 评论 -
左移运算符的优先级问题
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<原创 2020-08-01 14:23:35 · 1204 阅读 · 0 评论 -
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 · 275 阅读 · 0 评论 -
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 · 202 阅读 · 0 评论 -
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 · 257 阅读 · 0 评论 -
2020年7月17日icpc集训A题——递归与回溯POJ1664
题面如图所示思路当盘子比苹果多–>必然有盘子是空的–>空盘子有没有都一样(因为没有顺序差别)–>直接把盘子变得和苹果一样多当盘子不比苹果多–>可以做到让所有盘子都不空或者刻意让一些盘子空–>结果=让盘子空+不让盘子空让盘子空–>当盘子只剩一个–>所有果子只放一个盘子–>一种可能不让盘子空–>每个盘子都放一个–>当果子没了–>果子分完了–>一种可能#include<cstdio>#include<iost.原创 2020-07-18 07:27:05 · 203 阅读 · 0 评论 -
2020年7月17日ICPC训练联盟——递归与回溯
2020年7月17日ICPC训练联盟——递归与回溯递归:程序调用自身的编程技巧叫做递归,是子程序再起定义或说明中直接或间接调用自身的一种方法简称:我调用我自己视觉形式:德罗斯特效应德罗斯特效应(Droste effect)是递归的一种视觉形式,是指一张图片的某个部分与整张图片相同,如此产生无限循环。递归就是将一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解因此只需要少量的程序代码就可以描述出解题过程中需要的多次重复计算,使程序更加简洁清晰递归算法一般用于解决三类问题:1原创 2020-07-17 20:13:03 · 394 阅读 · 0 评论 -
枚举算法思路训练:poj2965
继poj1753继续训练枚举算法:这道题相比1753有两个改变:一、从小十字变成了大十字(从改变一个点的上下左右变成了一个点的整行整列),这个倒是不难做,执行函数稍微改一下就行二、题目直接让你输出改变的点(这道题是special judge),不过我直接把1753的寻找最小步数的思路拿来了,其实只要找到全部为open的一个解就行了思路差不多,不多解释了,直接上代码(吐槽一下edge,贴代码总是崩溃,google不会崩)#include<stack>#include<iostre原创 2020-07-16 22:04:44 · 150 阅读 · 0 评论 -
枚举算法思路训练:poj1753
从知乎找到一份训练大纲,先按照这个练习吧poj1753大意是4×4的棋盘上,不断黑白面的翻转自己和上下左右(如果有棋子的话),如果有可能翻到只有一种颜色,那么算出来最少翻几个棋子就可以做到只有一种颜色枚举的思想是不断地猜测,从可能的集合中一一尝试,然后再判断题目的条件是否成立。oiwiki是这么说的。。。。不过“从可能的集合中一一尝试”这段话引起了我的注意,原因后面再说先说一下我的思路吧:既然是4×4的棋盘,那么翻棋子最多可能就是16个棋子每个棋子都翻一遍因为一个棋子翻两遍等于没翻所以最初原创 2020-07-14 21:48:35 · 248 阅读 · 0 评论 -
高精度算法
题目描述 计算机的基本功能是计算,作为一个计算机爱好者,Ivy当然知道如何编写一个计算机程序,让计算机能进行简单的计算。之所以简单,因为Ivy的程序只需根据输入的两个正整数,根据要求计算这两个数的和或者差即可(所有输入数据确保x>=y)。 输入 输入共有三行。第一行包含一个正整数x,第二行包含一个正整数y,第三...原创 2020-04-02 23:09:32 · 163 阅读 · 0 评论 -
并查集入门:HDU1232畅通工程
题目描述原创 2020-03-31 17:11:51 · 116 阅读 · 0 评论 -
set+并查集的碰撞:HDU1272
首先把一篇很好的set总结贴在这里原创 2020-03-31 17:01:29 · 226 阅读 · 0 评论 -
二叉树的先序构造以及递归版本的先序遍历
很多时候不是你笨,而是你懒得下功夫学习原创 2020-03-31 07:31:28 · 132 阅读 · 0 评论