自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Processing 学习笔记

setup & drawvoid setup();void draw();setup 函数只在程序开始时运行一次。 draw 函数为循环执行的绘图函数。坐标系Processing 中坐标系以左上角为原点,向右为 X 轴正方向,向下为 Y 轴正方向。所用单位长度通常为 1 像素。通常只在 setup 函数中使用的函数void size(width,...

2018-08-13 13:47:51 1095

原创 读书笔记:《C++ 编程规范——101条规则、准则与最佳实践》(3)编程风格

豆瓣链接:《C++ 编程规范——101条规则、准则与最佳实践》 一个人的常量可能是另一个人的变量。——Alan Prelis第 14 条:宁要编译、链接时错误,也不要运行时错误以下是一些静态检查的例子:编译时布尔条件如果有些布尔值可以在编译期获得并需要检查,可以用 static_assert 代替运行时检查的 assert 。编译时多态用 “模板”...

2018-07-07 19:04:58 286

原创 读书笔记:《C++ 编程规范——101条规则、准则与最佳实践》(2)设计风格

豆瓣链接:《C++ 编程规范——101条规则、准则与最佳实践》 复杂性啊,愚人对你视而不见,实干家受你所累。 有些人避而远之。唯智者能够善加消除。 ——Alan Perlis 我知道,但又忘记了 Hoare 的至理名言:不成熟的优化是程序设计中的万恶之源。——Donald Dnuth,The Errors of TeX依赖性管理是软件工程的一个基础...

2018-06-21 12:51:22 241

原创 关于 C# 编译器程序 csc.exe 的位置

C# 最舒服的开发环境当然是 Visual Studio,但如果要自己在命令行中编译 C# 源代码的话,就需要自己找到编译程序,即 csc.exe 的位置。就本人的开发环境而言,安装完 Visual Studio 2015 后,会有几个不同版本的 csc.exe,其中 C# 5.0 的 csc.exe 在C:\Windows\Microsoft.NET\Framework\v4.0.303...

2018-06-20 18:33:52 3964

原创 读书笔记:《C++ 编程规范——101条规则、准则与最佳实践》(1)【组织和策略问题】

豆瓣链接:《C++ 编程规范——101条规则、准则与最佳实践》 如果人们按照程序员编程的方式修建房屋,那么一只啄木鸟就能毁灭整个文明。——Gerald Weinberg第 0 条:不要拘泥于小节(哪些东西不应该标准化)以下的内容不应该进行强制规定,但应当在项目中保持一致。缩进的多少行的具体长度命名规范注释风格关于宏名宏(macro)最好都用大...

2018-06-20 11:22:30 279

原创 【P1010-幂次方】解题记录

原题点 这里这是一道简单的分治题,其分治的思路为:要输出 n 的二进制结果,先提取小于 n 的、最大的 2^m,输出 2^m 的二进制表示,再输出 n-2^m 的二进制表示。要求 m,可以直接找到 n 的高位 1,它的位数减一即为 m 。递归边界为 m 为 0 或 1,此时直接输出答案。注意如果 n-2^m 为 0,就不用输出了,若不是要先输出 “+” 再继续递归。代码:#include

2017-06-30 15:50:34 485

原创 【p1126-机器人搬重物】解题记录

原题点 这里这是一道非常经典的迷宫问题,同时考察了编程技巧和宽搜。题中有许多需要注意的地方:一个机器人占据四个格子,给出的起终点坐标都是其中左上角格子的坐标。可能机器人的初始位置的 4 个格子中就有障碍物,因此需要特判起点是否合法。这是最后一组数据的要点。机器人能前进两格的前提是它能前进一格。前进 3 格的前提是它能前进两格,因此不能仅判断终点位置是否有障碍,而是沿途经过的所有位置是否有障碍

2017-04-22 23:08:47 2290

原创 【p1141-01迷宫】解题记录

原题点 这里这是一道非常经典的宽度优先搜索习题,很适合练习 floodfill 的编写。需要注意的几点是:一个连通块里的各个点的答案相同,因此每一个连通块只需遍历一遍。读取数据一定不要读取单个字符,尽量以字符串的形式读取,再提取单个字符。#include <cstdio>#include <queue>#include <vector>using namespace std;const

2017-04-16 14:25:33 433

原创 宽度优先搜索

和递归不同,宽搜使用队列而非递归遍历元素。就搜索树来说,深搜适合度数小,深度大的树。宽搜适合度数大,深度小的树。对于类似棋盘搜索的情况宽搜更为适合。其伪代码模板如下:void BFS(origin: 源点){ var q: 队列, inq: 集合,保存入过队的点; q.push(origin); inq.insert(origin); while(q 不为空){

2017-04-16 14:15:34 352

原创 【p1443-马的遍历】解题记录

原题点 这里这是一道很适合练习宽度优先搜索的题目。关于宽度优先搜索,有几个知识点:与深搜不同,宽搜不用递归,而是用队列(queue)进行遍历,它每次从队首取出一个节点然后枚举与之相邻的点,将其中符合条件的点加入队列。如此反复,直到队列为空为止,所有符合要求的点都将被遍历,搜索结束。为了防止节点被重复遍历,需要有一个 visited 集合来记录每一个点是否已经访问。而一个符合条件的点在加入队列后

2017-04-15 22:22:44 422

原创 【p1032-子串变换】解题记录

原题点 这里这是一道经典的搜索问题,但是数据比较弱,直接用宽度优先搜索就能通过。简单地说,思路就是:把原字符串入队,并设该元素之前的变换次数为 0 。取出队首元素,如果队列为空,则没有答案,结束程序。如果该元素等于目标字符串,输出它的变换次数,结束程序。检查该元素之前是否出现过,如果是则不必重复搜索,返回第 2 步。检查该元素之前的变换次数是否达到 10 。是则不能再变换返回第 2 步。

2017-04-09 13:43:53 366

原创 算法竞赛知识点总结

快速幂 & 取模取模的基本原理: a∗bmodn=(amodn)∗(bmodn)modna*b \mod n = (a \mod n)*(b \mod n) \mod n大整数取模的方法: begin{align}abcd \mod n  = & ((a*10+b)*10*c)*10+d \mod n \\                     = & end{align}begin{

2017-04-08 11:07:39 583

原创 【p1162-填充颜色】解题记录

解题记录

2017-04-03 14:23:40 322

原创 【p1605-迷宫】解题记录

解题记录

2017-04-03 11:08:24 297

原创 【p1101-单词方阵】解题记录

解题记录

2017-04-03 10:45:24 280

原创 【p1219-八皇后】解题记录

题目链接题目本身没什么好说的,只是要用位压来加速,否则最后一个点会超时。#include <cstdio>#include <cstdlib>using namespace std;int size;const int MAX_SIZE= 100;long long filled_column, filled_main_diagonal, filled_vice_diag

2017-04-02 21:19:54 363

原创 【p1093-奖学金】解题记录

洛谷题解

2017-03-04 21:15:06 660

原创 归并排序

主要记录归并排序的过程和代码。

2017-03-04 20:39:14 227

原创 【p1086-花生采摘】解题记录

原题点 这里这是一道简单模拟题,没涉及什么算法。只是需要自己建立一个地图坐标系的概念。通常程序中习惯把原点定位左上角,右边为 x 轴正方向,下边为 y 轴正方向。只要把地图想明白,程序就很简单了。代码:#include <cstdio>#include <queue>#include <cmath>using namespace std;int width, height, time, an

2017-02-24 17:52:26 420

原创 【p1042-乒乓球】解题记录

洛谷 p1042-乒乓球的解题记录。

2017-02-22 17:32:56 505

原创 【p1098-字符串的展开】解题记录

洛谷 p1098-字符串的展开的解题记录。

2017-02-22 15:51:23 655

原创 【p1017-进制转换】解题记录

主要讲解了在基数为负数的情况下如何用短除法进行进制转换。

2017-02-21 19:03:09 2837

原创 进制转换的原理

本文介绍了短除法进行进制转换的原理。

2017-02-19 22:10:33 5187

原创 【p1031-均分纸牌】解题记录

这是一道应用的贪心策略的题目。在知道各摞纸牌数量后,可以计算出纸牌的平均高度,也就是最后均分后的高度。

2017-02-18 21:34:31 572

空空如也

空空如也

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

TA关注的人

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