鹿我所录的博客

记录我在学习C#中的点点滴滴,记录下以备后来人借鉴。

 

2020年9月27日

知识提纲

只有博主才能阅读该文。 阅读全文

posted @ 2020-09-27 12:12 鹿我所录 阅读(0) 评论(0) 推荐(0) 编辑

2020年8月27日

洛谷P3901数列找不同-题解

摘要:原题: 思路: 莫队 统计的是各个数字的个数 如果说加的时候,sum==1,则颜色种类数++ 减的时候,sum==0,则颜色种类数-- 但是要注意由于区间排了序,所以要用一种方法来保证顺序不出错。 很简单看代码吧 代码: #include <bits/stdc++.h> using namespac 阅读全文

posted @ 2020-08-27 19:44 鹿我所录 阅读(11) 评论(0) 推荐(0) 编辑

2020年8月24日

洛谷P3205合唱队-题解

摘要:原题: 思路: 区间动规处理有一个十分明显但你他妈就没发现的特征:大区间包含小区间,大范围解包含小范围解 这个题符合这个特征,所以是区间动规 f[i][j][0]表示的是第i人从左边进来的方案数 f[i][j][1]表示的是第j人从右边进来的方案数 假设第三维是0,则前面那个一定比他高,前面的人就必 阅读全文

posted @ 2020-08-24 16:11 鹿我所录 阅读(11) 评论(0) 推荐(0) 编辑

2020年8月21日

洛谷P4170涂色-题解

摘要:原题: 思路: 一说到区间操作的最少次数,我就想到了区间动规 首先,对于每个长度为1的区间,次数显然是1 第二,对于左右端点颜色相等的情况,显然只要要在之前涂色的时候一起涂上就行 第三,对于不相等的情况,就只能按照一般区间动规处理 这道题帮助我解决了带特判的动规姓“搜”还是姓“动”的问题解放了思想可 阅读全文

posted @ 2020-08-21 15:37 鹿我所录 阅读(12) 评论(0) 推荐(0) 编辑

2020年8月18日

洛谷P2704炮兵阵地-题解

摘要:原题: 思路: 状压DP经典题目 对于每一个点是否可以放部队 只要考虑前两行有没有部队 这一行有没有两个部队距离在两格之内 这个点是不是山 即可 状态转移方程: dp[L][S][i]=max(dp[L][S][i],dp[FL][L][i-1]+Sum[S]); 搭配一些二进制处理 在输入地图的时 阅读全文

posted @ 2020-08-18 15:11 鹿我所录 阅读(8) 评论(0) 推荐(0) 编辑

2020年8月17日

模板-Bellman-Ford&SPFA

摘要:Bellman-Ford算法 求最短路的 这个算法基于一个叫做“松弛”的操作 松弛会试图往最短路中加边来缩短最短路 对于这样一个图 1到3的最短路显然是1→2→3而不是1→3绕远路就是最短的捷径 我们所进行的松弛操作就是这样的 松弛时枚举每一条边,并判断先走最短路到达这条边的u点,再经过这条边到达v 阅读全文

posted @ 2020-08-17 11:28 鹿我所录 阅读(14) 评论(0) 推荐(0) 编辑

2020年8月16日

洛谷P1020导弹拦截-题解

摘要:原题: 思路: 经典DP题目 但这个题有个更快的做法 开一个数组d表示序列中的数 如果目前这个数与d中最后一位符合要求 就加入 如果不符合就找到d中第一个不符合要求的并替换 相当于一直在确定这个序列是多少 详见代码 代码: #include<bits/stdc++.h> using namespac 阅读全文

posted @ 2020-08-16 17:41 鹿我所录 阅读(8) 评论(0) 推荐(0) 编辑

洛谷P1854花店橱窗布置-题解

摘要:原题: 思路: 考虑DP 设f[i][j]为考虑前i行,第i行选第j个的最大值 则f[i][j]=max(f[i-1][j])+d[i][j] 这道题由于有枚举成分在,如果用DFS就会超时 代码: #include <bits/stdc++.h> using namespace std; int n 阅读全文

posted @ 2020-08-16 09:55 鹿我所录 阅读(21) 评论(0) 推荐(0) 编辑

2020年8月14日

洛谷P3183食物链-题解

摘要:原题: 思路: 可以采取类似于树形DP的做法 计算出从各个儿子到达目标点的方法 然后加起来,就是这个点的方法 就像是反向的计数DP 代码: #include <bits/stdc++.h> using namespace std; struct node { int u,w,nxt; }e[2000 阅读全文

posted @ 2020-08-14 17:10 鹿我所录 阅读(17) 评论(0) 推荐(0) 编辑

2020年8月12日

洛谷P1512伊甸园日历游戏-题解

摘要:原题: 思路: 考虑搜索,显然有必胜策略 对于能转移到必胜状态的,必输,因为它把必胜状态给了对方 由此可以用搜索解决 但是DFS麻烦,于是我们换一种策略 类似动规 代码: #include <bits/stdc++.h> using namespace std; int n; int f[2010] 阅读全文

posted @ 2020-08-12 17:21 鹿我所录 阅读(20) 评论(0) 推荐(0) 编辑

2020年8月9日

洛谷P1352没有上司的舞会-题解

摘要:原题: 思路: 经典树形DP 借此题讲解一下树形DP 顾名思义,树形DP以「子树」作为单位进行DP 由于这个性质,DFS成了实现的最好选择 先DFS求出子问题,随后得出当前规模答案。 详见代码 这个还可以用拓扑排序做 代码: #include <bits/stdc++.h> using namesp 阅读全文

posted @ 2020-08-09 17:33 鹿我所录 阅读(13) 评论(0) 推荐(0) 编辑

2020年8月8日

错误集合

摘要:2020-08-08 搜索要真正的覆盖所有情况, https://www.cnblogs.com/lujin49/p/13453437.html是一个悲伤的故事 2020-08-27 莫队要注意顺序 阅读全文

posted @ 2020-08-08 20:42 鹿我所录 阅读(9) 评论(0) 推荐(0) 编辑

洛谷P1278单词游戏-题解

摘要:原题: 1≤n≤16 思路: 一看规模,暴搜,这种题还不简单hahaha 既然要做题,我们就要想想更优解法 为什么不写一下记忆化呢? 首先我们想到的是,记忆以每一个单词开头能得到的最长长度 但是这个想法连样例都过不了 在这组样例中,以我们的想法,OIOOI显然能接的最长单词是IUUO 但以IUUO开 阅读全文

posted @ 2020-08-08 16:25 鹿我所录 阅读(15) 评论(0) 推荐(0) 编辑

2020年8月7日

洛谷P1434滑雪-题解

摘要:原题: 思路: 首先考虑暴搜。 对于每一个点,我记录到这一格为止,走过了多少路。然后枚举四个方向继续递归。直到彻底走不动之后,就停下来更新答案。 但是有个问题——数据规模最大100行100列,如果我以一次递归4个方向来计算,第一层4种,第二层16种,第三层64种,第四层256种,而假设我们从整个地图 阅读全文

posted @ 2020-08-07 16:03 鹿我所录 阅读(15) 评论(0) 推荐(0) 编辑

洛谷P1219八皇后-题解

摘要:原题: 思路: 显然是搜索 但问题在于要同时标记行、列、对角线 对角线有规律:从左上到右下,x-y是固定值,从左下到右上,x+y是固定值 由于x-y有可能是负的,所以要+n 代码: #include <iostream> using namespace std; int n,ans,book[233 阅读全文

posted @ 2020-08-07 10:18 鹿我所录 阅读(9) 评论(0) 推荐(0) 编辑

2020年8月6日

洛谷P1443马的遍历-题解

摘要:原题: 思路: 广搜。 但队列除了记忆坐标,还要记忆步数。 在将一个点入队的时候,这个点的步数为这个点的父亲节点的步数+1,顺便把答案设了。 代码: #include<bits/stdc++.h> using namespace std; int n,m; int sx,sy; int a[405] 阅读全文

posted @ 2020-08-06 17:23 鹿我所录 阅读(13) 评论(0) 推荐(0) 编辑

洛谷P1135奇怪的电梯-题解

摘要:原题: 思路: 对于每一个楼层,只有上和下两种情况 将上和下分别入队跑BFS即可 代码: #include<bits/stdc++.h> using namespace std; int n,a,b; int move_count[205]; bool arrived_floor[205]; boo 阅读全文

posted @ 2020-08-06 11:13 鹿我所录 阅读(8) 评论(0) 推荐(0) 编辑

经验集合

摘要:2020-08-06 搜索与动态规划有一个共同特点,它要覆盖所有情况。其中记忆化搜索与动规又有同样的特点,在覆盖所有情况的同时有大量的重复计算。 在设计状态时(不论搜索还是动规)要保证覆盖所有状态(动规还要保证有重复) 2020-08-07 拓扑排序给出了动态规划的求解顺序,被取出的点是已知的,没有 阅读全文

posted @ 2020-08-06 09:26 鹿我所录 阅读(9) 评论(0) 推荐(0) 编辑

洛谷P1019单词接龙-题解

摘要:原题: 思路: 数据范围很小(n<=20)所以考虑搜索。 最为朴素的想法——对于每一个单词,我考虑后面能接哪些单词,并分别尝试计算答案。 但是随之而来的就是一个问题——我要如何知道后面能接哪些单词? 解决方法很简单,只要匹配一下就好了。 但是,难道我每次递归,都要匹配一下吗?这肯定是不行的,时间复杂 阅读全文

posted @ 2020-08-06 09:17 鹿我所录 阅读(24) 评论(0) 推荐(0) 编辑

2019年2月20日

[C++] C语言及C++语言中包含的头文件名称,及作用

摘要:头文件主目录include 头文件目录中总共有32个.h头文件。其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个。这些头文件各自的功能如下,具体的作用和所包含的信息请参见第14章。 <a.out.h>:a.out头文件,定义了a.out执行文件格式和一些宏 阅读全文

posted @ 2019-02-20 20:26 鹿我所录 阅读(1076) 评论(0) 推荐(0) 编辑

2018年12月15日

【C++】C++中int与string的相互转换

摘要:一、int转string 1.c++11标准增加了全局函数std::to_string: string to_string (int val); string to_string (long val); string to_string (long long val); string to_stri 阅读全文

posted @ 2018-12-15 19:55 鹿我所录 阅读(6091) 评论(0) 推荐(0) 编辑

2018年11月19日

奥赛-欧几里得算法-最大公约数

摘要:Greatest Common Divisor(GCD) 欧几里得算法据说是最早的算法,用于计算最大公约数,也是数论的基础算法之一。 1.欧几里德算法的思想: 欧几里德算法的思想基于辗转相除法的原理,辗转相除法是欧几里德算法的核心思想,欧几里德算法说白了其实就是辗转相除法的计算机算法的实现而已。下面 阅读全文

posted @ 2018-11-19 14:08 鹿我所录 阅读(219) 评论(0) 推荐(0) 编辑

2018年10月29日

dbForge Studio for MySQL 中文乱码问题

摘要:设置一下编码格式就好了 第一步:右键点击连接的数据库,选择第二个 第二步:选择第二个选项卡,设置编码格式,点击OK 第三步:确认保存并从新连接 最后你就发现能正常显示中文啦 阅读全文

posted @ 2018-10-29 14:26 鹿我所录 阅读(317) 评论(0) 推荐(0) 编辑

2018年10月6日

【C++】纯C++实现http打开网页下载内容的功能

摘要:这是一个函数,只要调用这个函数,就可以获取网页的内容 调用方法 阅读全文

posted @ 2018-10-06 07:50 鹿我所录 阅读(2750) 评论(0) 推荐(0) 编辑

2018年10月3日

【C++】C++string类总结

摘要:一、string的初始化 首先,为了在程序中使用string类型,必须包含头文件 <string>。如下: #include <string> 注意这里不是string.h,string.h是C字符串头文件。 string类是一个模板类,位于名字空间std中,通常为方便使用还需要增加: using 阅读全文

posted @ 2018-10-03 21:39 鹿我所录 阅读(135) 评论(0) 推荐(0) 编辑

【C++】C++中的string类的用法总结

摘要:相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给 阅读全文

posted @ 2018-10-03 20:59 鹿我所录 阅读(220) 评论(0) 推荐(0) 编辑

2016年5月9日

【网络编程/C++】修改本机ip地址

摘要:昨天学会了编程实现获取本地网卡信息,今天再接再砺学会了修改本机ip地址。其实原理很简单就是用c++调用一下dos命令而已,不得不说,dos命令实在是太强大了,当然听说还有种修改注册表的方法,不过没有试验过,所以放上调用dos命令修改本地ip地址的代码, 这个方法 是最简单的 阅读全文

posted @ 2016-05-09 09:59 鹿我所录 阅读(3762) 评论(0) 推荐(0) 编辑

2016年4月1日

MFC控件的SubclassDlgItem

摘要:MFC控件的SubclassDlgItem MFC控件的SubclassDlgItem 要在程序中创建新设计的控件,显然不能用自动创建的办法,因为对话框模板对新控件的特性一无所知.程序可以用手工方法创建控件,在调用派生类的Create函数时,派生类会调用基类的Create函数创建控件.用Create 阅读全文

posted @ 2016-04-01 16:18 鹿我所录 阅读(976) 评论(0) 推荐(1) 编辑

MFC 不让程序显示在任务栏上

摘要:如果是对话框程序直接在对话框的 初始化时,修改样式 阅读全文

posted @ 2016-04-01 08:11 鹿我所录 阅读(1226) 评论(0) 推荐(0) 编辑

2016年3月30日

MFC中无边框窗口的拖动

摘要:void CXXXXDialog::OnLButtonDown(UINT nFlags, CPoint point) { PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); } 要记得添加消息映射,不然这个代 阅读全文

posted @ 2016-03-30 11:07 鹿我所录 阅读(3983) 评论(0) 推荐(0) 编辑

2016年3月29日

MFC 获取图像的大小

摘要:原来可以如此简单 阅读全文

posted @ 2016-03-29 11:59 鹿我所录 阅读(1289) 评论(0) 推荐(0) 编辑

2016年3月27日

MFC CEdit 自动换行功能

摘要:最近在写一个程序,对话框上的CEdit控件需显示一串字符,字符可能比较长,要根据编辑框的宽度自动换行。控件属性中已经设置了Multiline为true、Auto VScroll为true,Virtical scroll为true,但还是不能换行,想请教一下该怎么做才能达到我要的效果。先谢谢了。 1\ 阅读全文

posted @ 2016-03-27 00:26 鹿我所录 阅读(2921) 评论(0) 推荐(0) 编辑

MFC CEdit改变字体大小的方法

摘要:方法很多,这里讲解两种比较简单的方法,也是从google上搜索来的。 方法很多,这里讲解两种比较简单的方法,也是从google上搜索来的。 方法一: CWnd* pEdit; pEdit = GetDlgItem(IDC_EDIT_ONE); ASSERT(pEdit != NULL); HFONT 阅读全文

posted @ 2016-03-27 00:20 鹿我所录 阅读(1687) 评论(0) 推荐(0) 编辑

2016年3月26日

MFC 使用位图按钮,并且设置按钮的鼠标悬停效果

摘要:系统环境:Windows 10软件环境:Visual C++ 2013 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不多,网上很多Button类的派生类蛮实用的,但是若是简单的位图按钮用自带的 阅读全文

posted @ 2016-03-26 23:44 鹿我所录 阅读(2559) 评论(0) 推荐(0) 编辑

2016年3月16日

MFC 关于MFC中CImage的简单使用

摘要:首先要将#include <atlimage.h>加进来,开始时我加到stdafx.h中,但一直提示windows.h被重复引入的问题,后将其加在别的头文件中,就可以了.. --! 一、图片的载入 如果需要在界面上显示的是已经存在的图片,那么需要将待显示的图片载入至CImage对象之中,CImage 阅读全文

posted @ 2016-03-16 23:35 鹿我所录 阅读(4822) 评论(0) 推荐(0) 编辑

2016年3月15日

MFC 给对话框注册热键

摘要:在头文件中添加: //}}AFX_MSGafx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);//(此行为加入的)BEGIN_MESSAGE_MAP(DlgYesNo, CDialog)//{{AFX_MSG_MAP(DlgYesNo) 在cpp 阅读全文

posted @ 2016-03-15 13:41 鹿我所录 阅读(208) 评论(0) 推荐(0) 编辑

2016年1月13日

C++ 里大写TRUE和小写true区别

摘要:1.C++里大写TRUE和小写true区别true是bool型的;TRUE是int型的,VC里这个是ms自己定义的;C++规定不允许只通过返回类型不同区别两个函数2.MFC中的”false“和 “FALSE"有没区别?有区别。false是bool类型的值,一个字节大小。而FALSE是BOOL类型的值... 阅读全文

posted @ 2016-01-13 20:11 鹿我所录 阅读(994) 评论(0) 推荐(0) 编辑

C++ MFC打开文件的流程

摘要:打开文件的步骤如下:弹出打开文件对话框 -> 获取选择的文件,并将文件显示在视图中。我们程序中经常需要定制的操作如下:1. 定制弹出的文件对话框,例如需要修改打开文件的类型或扩展名2. 定制文件显示的行为3. 定制文件打开后的行为1. CWinApp::OnFileOpen它是ID_FILE_OPE... 阅读全文

posted @ 2016-01-13 19:42 鹿我所录 阅读(5988) 评论(0) 推荐(0) 编辑

2015年12月11日

VC++ 简单的打印功能(对话框模式下)

摘要:不多说,直接上代码void CParamDlg::OnBnClickedButton6(){ // TODO: 在此添加控件通知处理程序代码 CDC dc; CPrintDialog dlg(TRUE, PD_ALLPAGES | PD_NOPAGENUMS, NULL); ... 阅读全文

posted @ 2015-12-11 23:30 鹿我所录 阅读(494) 评论(0) 推荐(0) 编辑

VC++ 实现文件与应用程序关联

摘要:日常工作中,doc文件直接双击后,就能启动word软件,并读取该文档的内容在软件中显示,这都得益于注册表的配置,我们的软件也需要实现这样的功能,该如何写注册表以及写入哪些内容呢?下面的两个函数就能实现这个功能。CheckFileRelation是检查注册表中是否已经将我们期待的文件格式与相应软件关联... 阅读全文

posted @ 2015-12-11 23:22 鹿我所录 阅读(359) 评论(0) 推荐(0) 编辑

导航

统计