自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(167)
  • 资源 (1)
  • 收藏
  • 关注

原创 Codeforces Round #618 (Div. 2) E. Water Balance

#include<bits/stdc++.h>//#include<ext/pb_ds/assoc_container.hpp>using namespace std;//using namespace __gnu_pbds;typedef long long ll;const int MAXN = 1e6+20;int n,arr[MAXN];double ...

2020-02-22 00:10:33 273

原创 Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2)

Forgetting Things#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MAXN = 3e5+20;const int MOD = 1e9+7;int n;int main() { int a,b; cin >> a >> b;...

2019-10-31 21:47:48 184

原创 Codeforces Round #594 (Div. 2)

A - Integer Points#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MAXN = 1e5+20;int n,m;int main() { int _;cin >> _; while(_--){ cin >> n; ...

2019-10-26 18:08:02 230

原创 Codeforces Round #591 (Div. 2, based on Technocup 2020 Elimination Round 1)

A - CME #include<cstdio>#include<cstring>#include<queue>#include<vector>#include<algorithm>#include <iostream>using namespace std;typedef long long ll;con...

2019-10-13 20:56:17 226

原创 有上下界的可行流,最大流,最小流(模板题)

目录Loj #115 无源汇有上下界可行流Loj #116 有源汇有上下界最大流Loj #117 有源汇有上下界最小流Loj #115 无源汇有上下界可行流#include<cstdio>#include<cstring>#include<queue>#include<vector>#include<algorithm>#i...

2019-10-06 20:09:23 182

原创 五子棋AI

https://github.com/ShichengChen/Gomoku Java实现,只用到了javafx C#实现依赖的库比较多,不容易再跑起来 用了ab剪枝实现的搜索树 一般人第一次不容易赢电脑,我一次都没赢过

2017-10-20 12:02:38 706

原创 学习之道---展望大学的心路历程

大学幸运的被调剂到了软件工程,非常喜欢这个专业,在大一大二取得了小小的学习成果,所以想继续深造这个专业。 高中的时候和一个老师关系特别好,并且喜欢分享自己的知识,所以以后想当一名大学老师。 为何一定是大学呢,因为,首先我希望自己也能做研究,并且能够在教同学的过程中,教学相长,互相学习,同时能够检验自己是否真的理解我所学的知识。 所以我想写一写如何 ”教育”,并且根据自己三年来奋斗的心路历程为线

2016-05-23 22:39:58 1619 2

原创 角点检测harris corner公式推导详解

http://download.csdn.net/detail/c337134154/9308409 首先给出我们图像处理老师的上课讲义 下面给出我的推导全过程 因为细节的地方太多了,而且很多公式,所以我就不打在这里面了 因为网上没有找到特别详细的推导,所以和同学一起把harris角点推导的方法细节全部列了出来

2015-11-28 19:43:09 6177 1

原创 effective c++为异常安全而努力是值得的(1)

如果我们假设函数带着“空白的异常明细”(empty exception specification)者必为nothrow函数int doSomething() throw();//空白的异常明细这并不是说doSomething绝对不会抛出异常,而是说如果doSomething抛出异常,将会是严重的错误,会有你意想不到的函数被调用 然后上cplusplus reference看看了关于set_une

2015-11-28 18:13:42 686

原创 effective c++避免返回handles指向对象内部成分(2)

class Point{public: Point(int _x,int _y):x(_x),y(_y){} void setX(int _x){x = _x;} void setY(int _y){y = _y;} int getX()const{return x;} int getY()const{return y;}private: int

2015-11-21 15:03:03 728

原创 effective c++ 避免返回handles指向对象内部成分(1)

class Point{public: Point(int _x,int _y):x(_x),y(_y){} void setX(int _x){x = _x;} void setY(int _y){y = _y;}private: int x,y;};class RectData{public: RectData(Point _ulhc,Poi

2015-11-20 21:10:20 540

原创 uvaoj 11426 - GCD - Extreme (II)

题解: 1.g(n,i)(i < n)含义是小于n的数中与n最大公约数为i的数量 2.g(n,i) = phi(n / i) 总结: 1.这道题目也没有自己做出来,貌似最近好多问题都没有自己做出来了,跟最近学习方法也有一些关系吧 2.这道题,解题的关键之处我认为在于找到g(n,i)这个表达式,那么如何才能想到呢 3.嗯,如果按照题目的思路就是:gcd(n,m) = i,枚举n,m但是复杂

2015-11-20 16:49:06 768

原创 effective c++ 尽量少做转型动作(2)

C风格的转型动作 (T)expression //将expression转型为T 函数风格的转型动作 T(expression)//将expression转型为T旧式转型依旧合法,但是新式转型较受欢迎 1.容易在代码中识别出来,无论是人眼还是grep等工具 2.各转型目标愈窄化,编译器愈可能诊断出错误的运用,比如只有const_cast能去掉常量性class Base{public:

2015-11-19 17:22:32 546

原创 uvaoj 1267 - Network

题解: 1.贪心,把树的任意一点作为树根,这棵有根树的‘最深叶子节点’的最优服务安装位置是确定的! 总结: 1.这道题没有自己想出来,憋了好久好久啊!总结一下,现在总是习惯性的躺在床上才想题,丢掉了在纸上随意画一画的习惯了,导致总是在一个地方纠结而没有看到那里没有想到!(画在纸上可能更能帮助完善思维) 2.这道题目的一个关键是把无根树想成有根树!无形中加强了条件,以后再去从极端的地方入手,也

2015-11-15 01:05:07 536

原创 effective c++尽量少做转型动作(1)

为啥要分两次写呢,因为这篇实在是太长了,因为畏惧他的长度,所以这几天竟然一直拖着没有写effective c++的读书笔记,导致也没有往后面太看。。。所以,以后如果文章太长了,不要惧怕,分开写就好了,还是重在坚持看这章内容,一下子就被其中的const_cast(expression)表达式所吸引了,c++就是作死小能手,想怎么耍就怎么耍!它可以将对象的常量性转除!!然后马上查了一下c++ refer

2015-11-15 00:06:33 578

原创 effective c++尽可能延后变量定义式的出现时间

原书用的是一个c++标准库的函数,这里为了简练,就随便写了一个函数,但意思相近void doSth(int i){ string s; //过早的定义了这个变量 //如果i == 0则导致白白的声明了这个变量 if(i == 0)throw logic_error("i == 0"); s = "string";}可以改成这样void doSth(int

2015-11-09 23:08:29 533

原创 uvaoj 1069 Always an integer

题解: 1.对于最高次数是n次的时候,为x分别带入0,1,2…到n + 1,如果都为整数,则多项式为整数 总结: 1.这个题目没有自己想出来,总结一下,以后在做题的时候还是要明确目标,猜猜可能能通过哪些方面得到答案 2.这道题依旧碰到了bug,导致浪费了很多时间,以后做到,每次犯错误,都停下来思考一下,对以后要做的事情做一个简单的规划 3.昨天写xv6的编程作业,感觉都几乎已经能够写完了,

2015-11-09 11:52:52 532

原创 effective c++ 考虑写出一个不抛出异常的swap函数

#include<algorithm>#include<iostream>#include<cstdio>#include<vector>class WidgetImpl{ //...... std::vector<int>v;};class Widget{public: void swap(Widget& other){ //原书给的是

2015-11-06 22:49:20 588

原创 effective c++ 若所有参数皆需要类型转换,请为此采用non-member函数

令classes支持隐式转换通常是个糟糕的主意。但是如果发生在数值类型上,比如设计一个class用来表现有理数,允许整数隐式转换为有理数似乎很是合理class Rational{public: Rational(int numerator = 0,int denominator = 1){} int numerator()const{}; int denominator(

2015-11-03 15:07:20 516

原创 uvaoj 11520 - Fill the Square

贪心#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define MAXN 12char ch[MAXN][MAXN];int main(){ int _,n; cin >> _; for(int kcas = 1;kcas <= _;kcas++) {

2015-11-03 09:44:23 552

原创 uvaoj 1099 - Sharing Chocolate

题解:状态压缩dp 总结:继续努力做到,没犯一些错误,思考一下对策,再进行改正#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define MAXN 110#define N 16int d[(1 << N) + 10][MAXN],w[N],sum[(1 << N) + 10];int

2015-11-02 22:35:25 515

原创 effective c++ 将成员变量声明为private

一旦你将一个成员变量声明为public或protected而用户开始使用它,就很难改变那个成员变量所涉及的一切。如果改变:太多代码需要重写,重新测试,重新编写文档,重新编译#include<iostream>using namespace std;//////////////////////////////////////////////////////////////////////////

2015-11-02 13:07:51 551

原创 uvaoj 12097 - Pie.cpp

题解: 1.二分 2.在windows下输出格式竟然是:printf(“%.4f\n”,l);这里找了半天错 总结 今天不小心又犯了盲目找错的坏习惯,下次冷静的思考一下再找错#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;#define MAXN 10010

2015-11-01 22:25:42 448

原创 uvaoj 12124 - Assemble

题解:二分 总结:注意每个1e9,因为他们随时可能超精度#include<cstdio>#include<iostream>#include<cstring>#include<vector>#include<map>using namespace std;#define MAXN 1010struct Component{ int price,quality;};vec

2015-10-31 17:24:24 475

原创 effective c++:必须返回对象时,别妄想返回其reference

class Rational{public: Rational(int numerator = 0,int denominator = 1) { this -> n = numerator; this -> d = denominator; }private: friend const Rational operator*(con

2015-10-31 15:49:40 465

原创 effective c++:宁以pass-by-reference-to-const替代pass-by-value

class People{public: People() { cout << " construct fun " << endl; } People(const People& i) :a(i.a) { cout << " copy construct " << endl; } People &op

2015-10-31 00:42:13 591

原创 uvaoj 1169 Robotruck

题解: 1.注意输出格式 总结: 1.保持编程风格一致是一个避免出错的好主意 2.做事保持冷静,今天碰到一些影响心情的事情,也算是没有受到太大的影响,感觉这样很好。冷静是很多好习惯的基础!一定要继续努力,保持冷静客观 3.下一步就是总结发生问题的地方,做到不再犯同样的错误了,甚至总结出为何我会发生这样的错误#include<iostream>#include<cstring>#incl

2015-10-30 21:38:57 507

原创 uvaoj 1352 Colored Cubes

大模拟 每日一题#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<string>#include<map>using namespace std;int dice[24][6] = {{0,1,2,4,3,5},{5,3,4,2,1,0},{1,2,0,3,5,4},{4,0,2,5

2015-10-29 23:07:41 436

原创 effective c++让接口容易被正确使用,不易被误用

class Month{public: static Month Jan(){return Month(1);} static Month Feb(){return Month(2);} //......private: explicit Month(int i):val(i){} int val;};class Year{public:

2015-10-28 21:48:19 462

原创 uvaoj 10859 - Placing Lampposts

题解: 1.将放置最少的街灯等价为最多地方没有放置街灯个数为x 2.被两个街灯照亮的边数为b 3.k > b的最大值 4.y = kx + b,找到最大的y 5.树形dp 总结: 1.将问题归一化,减少了很多无谓的操作和变量,将两个变量编码成一个数值#include<iostream>#include<cstdio>#include<cstring>#include<vector

2015-10-28 20:27:31 370

原创 effective c++以独立语句将newed对象植入智能指针

int priority(){}struct Widget{};void processWidget(shared_ptr<Widget>pw,int priority){}int main(){ processWidget(new Widget,priority()); //产生编译错误,因为shared_ptr构造函数需要一个原始指针 //但是该构造函数是一个ex

2015-10-27 15:12:45 506 1

原创 uvaoj 11464 - Even Parity

用宏定义好爽#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define MAXN 17#define F(i,n) for(int i = 0;i < (n);i++)#define INF 0x3f3f3f3fbool A[MAXN][MAXN],B[MAXN][MAXN];int _

2015-10-27 14:20:21 367

原创 uvaoj 1030 - Image Is Everything

总结: 1.以前看过汝佳哥源代码,没有打在电脑里提交,自以为会了,最近重新做题的时候才发现原来只是看懂了,自己并不能很快的思考出来这个问题,以后凡是碰到代码,尽所能付诸于实践!以写代码,写博客的形式,以检验是否真的明白了 2.感觉自己快要完全想出解决方案的时候,没有坚持思考完就去看汝佳哥的方法了,以后还是要,即使觉得自己应该没问题的时候,也要先自己完整的想出解题策略,再看大神的代码,进行学习

2015-10-26 19:28:30 392

原创 effective c++成对使用new 和 delete时要采取相同形式

string *str1 = new string;delete str1;//删除一个对象string *str2 = new string[100];delete []str2;//删除一个由对象组成的数组如果使用delete[] str1或者delete str2都是未定义的 数组所用的指针通常还包括数组大小的记录,以便delete知道需要调用多少次析构函数 编译器往往会这么实现对象

2015-10-26 11:16:35 463

原创 effective c++在资源管理类中提供对原始资源的访问

有关访问资源管理类中的原生指针#include <iostream>#include <cstdio>using namespace std;struct FontHandle{};FontHandle getFont(){}void releaseFont(FontHandle f){}class Font//资源管理类{public: explicit Font(Font

2015-10-25 23:27:03 661

原创 uvaoj 10253 - Series-Parallel Networks

题解: 1.将这道题的模型抽象成一棵树,计算它有多少种形态 2.树这样定义,从父节点开始,将并联在一起的图形尽可能拆开,使得子节点不存在可拆的并联网络;再将子节点所代表的图形拆成尽可能多的串联网络,这样交替下去,直到拆成不能拆的叶子节点为止。 3.对于某一层出现2,2,3这种情况,用隔板法解决就好 总结: 1.啊,真是太久没有做acm题了,脑子都木了,感觉最近总是睡得晚白天也不是很困,但是

2015-10-25 01:05:36 339

原创 effective c++ 在资源管理类中小心copying 行为

资源取得时机便是初始化时机class Mutex{};void lock(Mutex* p){}void unlock(Mutex* p){}class Lock{public: explicit Lock(Mutex *p) :mutexPtr(p) { lock(mutexPtr); } ~Lock() {

2015-10-24 20:05:25 414

原创 安装xv6笔记

os:ubuntu 14.04 首先安装qemu sudo apt-get install libsdl1.2-dev sudo apt-get install qemu 然后下载xv6 wget https://github.com/run/xv6/archive/master.zip 解压 unzip master.zip 进入xv6文件夹下 cd xv6-master 装载

2015-10-18 14:37:21 4859

原创 uvaoj 10795 - A Different Task

题解: 1.汉诺塔问题,试图将初始情况和终止情况通过一个中间状态联系在一起 总结: 1.这几天一直在想uvaoj 10253,感觉有点小坎还没有想出来,感觉以后应该明确解题思路后再写题,这样效率会高一些,嗯,写的过程中发现有些问题没有考虑到,暂时没有想出怎么做,下面再捋一遍这道题的思路,也许会比较好,因为对这道题的思路都是片段化 + 试代码试出来的。 2.以后写题,不管有多大的把握,或者多着

2015-10-06 23:31:02 422

原创 uvaoj 11384 Help is needed for Dexter

题解: 1.发现二分比直接算快一些 2.证明发现二分比三分快一些#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define MAXN 1e9int main(){ int n; while(cin >> n) { int cnt = 0;

2015-10-04 23:50:36 413

Feature Extraction

harris corner的推导方式。包括很多种类型的关键点的寻找,概要实现方法

2015-11-28

空空如也

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

TA关注的人

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