![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 67
徒手装机甲
这个作者很懒,什么都没留下…
展开
-
c++数组越界和内存管理
今天遇到了一个奇怪的问题,因为c++中数组是可以越界访问的,在运行以下程序时发生了如下结果#include <bits/stdc++.h>using namespace std;int a[100005];int n,m;int main() { freopen("test6.in","r",stdin);//设置 cin scanf 这些输入流都从 test.in中读取 freopen("test676.out","w",stdout);//设置 cout printf原创 2020-11-25 04:38:20 · 283 阅读 · 0 评论 -
动态规划原理分析
动态规划是一种非常有趣的思想,第一次听说这种思想就是看01背包的解法,网上有非常多的文章讲述状态转移方程,分解子问题,讲的也都很好,只是但对于我这种比较笨的人,当时我一直没有搞明白为什么动态规划可以保证在递推过程中做出的所有判断都是最优的。后来我见到了一个很有意思的故事(原文入口)讲的是关于国王分金矿,其实就是披了皮的01背包。他把这个问题用递归分解的方式分解成所谓的子任务,及国王找2个大臣分...原创 2020-01-31 04:09:19 · 245 阅读 · 0 评论 -
斗牛游戏
题目背景又是一年过去了。小 Z 在春节期间可以好好的放松放松,于是小 Z 和小伙伴们玩起了牛哄哄(斗牛)。游戏规则是这样的:给定 5 张牌,分别从 1∼10。你需要挑选其中的三张牌加起来是10 的倍数,另外两张牌的和的个位数则为你最后获得的点数,特别的,如果这两张牌的和是 10 的倍数,则点数为 10,也叫做牛哄哄。如果不能构成 10 的倍数,则点数为 0,也叫做牛不拢。如 5 3 2 3 ...原创 2020-01-30 06:15:54 · 1961 阅读 · 0 评论 -
dfs简单应用(八皇后)
八皇后问题,是在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?这道问题的关键在于如何做到在尽可能短的时间解决问题,使用dfs加回溯是一种很好的解决方案先从第一行开始第一行的八列都依次延伸后,可以遍历本题的所有情况,我们只需借助judge函数判断目前期盘状态是否合理即可如果成功到达边界,计数器加1代码很简短(n皇后只需更改...原创 2020-01-23 00:04:17 · 167 阅读 · 0 评论 -
dfs简单应用(水坑数)
试题描述有一个大小为MN的园子,雨后积起了水。八连通的积水被认为是连接在一起的。请求出园子里共有多少水洼?(八连通指的是下面图中相对W的的部分)限制条件:N,M≤100输入第一行包含两个正整数 N 和 M,表示将一个园子地面分成N*M块方格,N 行,M列,接下来的 N 行描述了园子地面状况,其中‘W’表示积水的水洼,‘.’表示没有积水。输出仅一个数,表示水洼的总数。输入示例10 ...原创 2020-01-22 17:33:40 · 654 阅读 · 0 评论 -
dfs的简单应用(部分和)
给定整数a1 a2.。。。。an判断是否可以选出若干数凑成sum输入n=4a={1,2,4,7}sum=13输出YES非常经典和基础的一道dfs搜索,搜索逻辑非常简单,先决定第一个数要不要,遍历所有要第一个数的情况之后再遍历所有不要第一个数的情况,当遇到sum是直接退出,起到剪枝的功能int dfs(int i,int n;int k;){if(sum==k)return 1...原创 2020-01-22 17:03:34 · 184 阅读 · 0 评论 -
一个简洁的斐波那契求法和它的简单应用
这个简洁的求法其实是在做题的过程中发现的,但这道题的正规做法应该不是这样,所以我就先解释一下这种考找规律的斐波那契数列求法事实上,只要细心观察,通过简单的数学推导很容易可以得到一个式子形如F(2n)=F(N)²+F(N+1)²就是F[N]=F[N/2]²+F[(N+1)/2]²知道了这个式子后我们很容易的可以求出当目标为奇数时的递推关系(因为奇数本身除2自动约掉+1后除2即为n/2+1)但偶数...原创 2020-01-21 21:11:12 · 314 阅读 · 0 评论