自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vivado创建工程时查询不到xc7k70tfbg676芯片问题的解决方法

在学习XILINX零基础教程视频(https://www.bilibili.com/video/BV14K4y1u7kH?p=27&vd_source=ed5a209d24bee076ddf79c0293511b58)时创建工程需要选择xc7k70tfbg676芯片。一开始安装时没有把xc7k70tfbg676的芯片型号包括进来,所以在创建工程选择芯片时查找不到xc7k70tfbg676。注意要把Kintex_7选上,xc7k70tfbg676就包括在这个包里面。

2024-05-23 17:43:53 696

原创 在anaconda启动jupyter notebook时出现ModuleNotFoundError: No module named ‘jupyter_server.contents‘报错

【代码】在anaconda启动jupyter notebook时出现ModuleNotFoundError: No module named ‘jupyter_server.contents‘报错。

2023-10-02 19:54:40 788 1

原创 第八届蓝桥杯做题总结

各题情况1、迷宫:dfs+模拟,思路比较容易想2、跳蚱蜢:bfs最优解问题,思路也不难想3、魔方状态:几乎是最难的一道了4、方格分割:dfs,比较难想到要从中间开始,结果要除以四,而且dfs的是分割线而不是方块5、字符组成:不难6、最大公共子串:不难7、正则问题:比较难8、包子凑数:想不明白为什么数互质就是有限,数不互质就是无限9、分巧克力:暴力枚举+二分10、油漆面积:暴力法总结:总体上难度不难,但是有有一两道题思路比较难想,有一两道题容易丢分,还是要多加练习...

2021-04-14 20:19:02 197 1

原创 第八届蓝桥杯省赛 10油漆面积

1、暴力法求解2、注意用bll数组来表示地面,不然会内存超限ps:要是再考试中还真想不到用bool数组,八成要内存超限分全部丢掉#include <iostream>#include <cstring>#include <math.h>#include <string.h>using namespace std;const int shu = 15000;int n;int x1,x2,y11,y2;bool map[shu][shu]

2021-04-14 20:07:51 140

原创 第八届蓝桥杯省赛 9分巧克力

思路:1、用枚举的方法枚举出所有可能的边长中最大的边长2、用二分法优化#include <iostream>#include <cstring>#include <math.h>using namespace std;struct node{ int h; int w;};int n,k;node x[10000000];int main(){ //输入 cin>>n>>k; int i,j; int s =

2021-04-13 22:21:09 102

原创 第八届蓝桥杯省赛 8包子凑数

思路:1、求出所给数字的最大公约数,如果公约数为1,则组合不出来的数的个数有限,如果公约数不为1,则组合不出来的数有无数个(想不明白为什么)2、求有限个组合不出来的数的方法为用动态规划来求代码:#include <iostream>#include <cstdio>#include <iostream> #include <string.h>using namespace std;int gcd(int a,int b){ if(a&lt

2021-04-13 21:32:03 103

原创 辗转相除法求最大公约数

思路:1、a为大数,b为小数2、a除以b得余数c3、若余数c为0,则b为最大公约数若余数c不为零,把b得值赋给a,把c得值赋给b代码://求最大公约数 //作为参数的a要大于b int gcd(int a,int b){ if(a%b==0){ return b; }else{ return gcd(b,a%b); }}...

2021-04-13 21:04:09 124

原创 第八届蓝桥杯省赛 4方块分割

思路:1、从中心点(注意不是中心方块)出发,进行深度优先搜索2、一次深度搜索以到达边界为退出条件,每次到达边界都是一种分割曲线的形成3、因为左右上下对称的性质,结果需要除以4难点主要是要想到:1、对分割线经过的点进行遍历,而不是对组成的方块进行遍历2、要以中心为出发点进行遍历3、要把结果除以4...

2021-04-13 17:18:24 248

原创 第八届蓝桥杯省赛2蚱蜢

思路:1、直接用搜索枚举2、最优解问题,提示用宽度优先搜索4、用字符串的排序作为状态,每种转台有四种状态转移3、注意用set来去重#include <cstdio>#include <iostream>#include <queue> #include <map>#include <math.h>#include <algorithm>using namespace std;map<string, int

2021-04-13 16:29:16 103

原创 第八届蓝桥杯省赛 1迷宫

思路:1、遍历每一种初始位置,将它们的行走路线走一遍2、如果走出边缘,说明能走出迷宫3、如果回到了曾今走过的位置,说明走不出#include #include using namespace std;const int bc = 10;char map[100][100];int mark[100][100];//判断从该点出发能不能到达int judge(int i,int j){//思路:对每个走过点进行标记//标记初始化int a,b;for(a=0;a<bc;a+

2021-04-13 16:25:53 118

原创 015 复杂的整数划分问题(超时)

#include #include #include #include <string.h>#define INF 0x3f3f3f;using namespace std;int n = 1,k;int dp1[60][60][60];int dp2[60][60];int dp3[60][60];struct node{int a,b,c;};node ans[3600];node ans2[3600];int main() {int y = 0;while

2021-04-09 16:38:38 112

原创 017:分蛋糕

思路:动态规划dp[w][h][m] = 宽为w,高为h的蛋糕切m刀后最大快蛋糕面积的下限递推公式:dp[w][h][m] = min(切的第一刀为横的最优解,切的第一刀为竖的最优解)切的第一刀为横的最优解 = min(s(i))(1<=i<=h-1)(s(i)表示切完第一刀后上边的蛋糕的高度为i的情况的最优解)切完第一刀后上边的蛋糕的高度为i的情况的最优解 =min(max(dp[w][i][k]),dp[w][h-i][m-k])(k表示分配到上面的蛋 糕的刀数)以此类推

2021-04-09 00:33:26 203

原创 poj3624:Charm Bracelet

思路:动态规划+滚动数组int j;dp[i] = 前j个物品中选出重量小于i的部分,所选出部分总价值的最大值边界条件:j=0时dp[i] = 0;递推公式:如果i-a[i]>=0: dp[i] (j==j1) = max(dp[i] (j == j1-1),dp[i-a[j].weight] (j = j1-1));否则:dpi = dpidp生成顺序:dp数组元素按j从小到大,i从大到小的顺序生成#include <cstdio>#include &

2021-04-08 20:24:43 95

原创 百练 2755:神奇的口袋

思路:动态规划dp[i][j] = 前j个物品中选出重量和为i的物品的选法数目递推公式:如果i-a[j]>=0:dp[i][j] = dp[i][j-1] + dp[i-a[i]][j-1];否则:dp[i][j] = dp[i][j-1];初始条件:dp[0][j] = 1;(0<=j<=n);dp[i][0] = 0;(1<=i<=40);dp生成情况:阴影部分表示已知,空白表示未知。多个箭头从阴影格子指向空白格子表示由多个已知推导出一个未知由

2021-04-08 17:43:37 157

原创 百练1088:滑雪

思路:动态规划dp[i][j] = 从该点出发能到达的点的个数的最大值递推公式:如果四周没有比该点低的点:dp[i][j] = 1;否则:dp[i][j] = max(dp[ix][jx]+1);//((ix,jx)为周围的点中比点(i,j)低的 点)dp生成顺序:低的点的dp应该先生成#include <cstdio>#include <iostream>#include <algorithm>#define INF 0x3f3f3f;

2021-04-08 16:55:31 117

原创 poj 1661 Help Jimmy

错误思路:定义:dp[i][j] = 从坐标为i,j的点下落到地面的最短时间递推公式:如果有板子:设(i1,jx),(i2,jx)分别为下一个板子的左端点和右端点dp[i][j] = min(dp[i1][jx]+(i-i1),dp[i2][jx]+(i2-i))+(j-jx);如果没有板子:如果j>max:dp[i][j] = 无穷大(表示无法到达)否则:dp[i][j] = j;dp数组生成顺序:生成dp[i][j]前,点(i,j)下面的板子应当先生成——》简化为:j比较

2021-04-08 00:07:40 80

原创 013:Zipper

思路:动态规划dp[i][j] = 用s1的前i个字符和s2的前j个字符,能否形成s3的前i+j个字符(字符串的下标从1开始)边界条件:dp[0][0] = 1;dp[i][0] = (s1[i]==s3[i])(1<=i<=s1.length()-1);dp[0][j] = (s1[j]==s3[j])(1<=j<=s2.length()-1);递推公式:当s1[i]==s3[i+j]时:p[i][j] = max(dp[i - 1][j], dp[i][j])

2021-04-07 21:23:22 397 1

原创 012:拦截导弹

思路:动态规划dp[i] = 以a[i]为最后拦截的导弹的情况中最多导弹的情况递推公式:dp[i] = max(dp[j]+1)(0<j<i并且a[j]>=a[i])边界条件:dp[0] = 1;记忆数组生成过程:可知道:dp数组应按i从小到达的顺序生成#include <cstdio>#include <iostream>#include <string>#include <math.h>#include <a

2021-04-07 13:19:32 195

原创 014:最佳加法表达式

思路:运用动态规划设原始数字为s的字符串,下标从1开始定义:dp[i][j] = 前i个数插入j个加号后形成的式子的结果的最小值递推公式:dp[i][j] = min(dp[k][j-1]+num(k+1,i))(k=j到i-1)边界条件:dp[i][0] = num(1,i);...

2021-04-07 13:09:21 300

原创 poj1458:Common Subsequence

思路:动态规划dp[i][j] = s1的前i个和s2的前j个的公共子序列长度递推公式:if s1[i-1] = s2[j-1]:dp[i][j] = dp[i-1][j-1]+1;else:dp[i][j] = max(dp[i][j-1],dp[i-1][j]);(证明:1、dp[i][j]显然不小于dp[i][j-1]和dp[i-1][j]2、用反证法可得dp[i][j]不同时大于dp[i][j-1]和dp[i-1][j]故等式成立)初始情况:dp[i][0] = 0;dp[

2021-04-06 20:44:17 109

原创 POJ 3616: Milking Time

1、将时间区间按开始时间从早到晚排序2、定义dp[i] =以0-i的任务为任务总量, 到目前任务的截至时间前的最大效益值是多少当一定要选择a[i]时,dpi = max(dp[i],dp[j]+a[j].eff);(a[j].end<=a[i].start)当一定不选择a[i]时,dpi = max(dp[j])(a[j].end<a[i].end)综上所述,dp[i] = max(dpi,dpi);#include <cstdio>#include <cstrin

2021-04-02 09:43:06 88

原创 POJ 2385: Apple Catching

借鉴了别人的思路:1、dp[i][j] = 第i秒走了移动j次所接到的苹果的数目2、dp[i][j] = max(dp[i-1][j-1]+dp[i-1][j])+(第i秒接到的苹果数目)#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include&l

2021-04-01 17:39:40 119

原创 POJ 2229: Sumsets

分析:1、动态规划2、主要是找规律:若n为奇数,则组合中一定有1,将所有组合的1去掉,就变成了n-1的所有组合,所以 dp[n] = dp[n-1]若n为偶数,则:若是有1,则必定有两个1,将所有组合的两个1去掉,就变成了n-2的所有组合;若是没有1,则所有组合中的所有数都是2的倍数,将所有组合中的数除以2,就编程了n/2的所有组合。所以:dp[n] = dp[n-2]+dp[n/2]#include <cstdio>#include <cstring>#include

2021-04-01 16:04:49 100

原创 POJ 3176: Cow Bowling

思路:1、动态规划:2、记忆数组定义和递推式设dp[i][j] = 从第0行到达该位置所走过的数的和的最大值i0 : dp[0][0] = a[0][0]i>0:j0 : dp[i][j] = dp[i-1][j]+a[i][j]j==i : dp[i][j] = dp[i-1][j-1]+a[i][j];j>0&&j<i : dp[i][j] = max(dp[i-1][j-1]+a[i][j],dp[i-1][j]+a[i][j]);#in

2021-04-01 14:32:51 67

原创 POJ 3262: Protecting the Flowers

思路:1、将母牛排序(排序的方法没怎么看懂)2、遍历,计算(注意不能两重循环,否则会超时)问题:排序的方法不是很理解#include <cstdio>#include <cstring>#include <stack>#include <queue>#include <algorithm> #include<iostream>#include<map>#include<set>#incl

2021-03-31 23:58:48 75

原创 POJ 1862: Stripies

思路:每次找最大的两个数来合并,直到合并到只剩一个问题:如何证明有点坑,用C++能过,用G++就过不了#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include<map>#include<set>#include<

2021-03-31 22:12:57 144

原创 POJ 3040; Allowance

思路:1、用sort将硬币按面值从大到小排列2、先将面值大于等于c的硬币处理掉3、对于面值小于c的硬币:(1)按从大到小的顺序将钱加到接近c但不超过c(2)按从小到大的顺序将钱加到刚好比c大问题:如何证明这样做得到的周数就是最多的?#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include&

2021-03-31 20:50:21 121

原创 POJ 1017: Packets

思路:先处理边长为6、5、4、3的物品再用边长为2的物品补空缺再用边为1的物品补空缺#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include<map>#include<set>#include<math.h&gt

2021-03-31 19:44:29 130

原创 POJ 2393: Yogurt factory

思路:贪心算法贪心的规则是:第i周要送出的牛奶交给0-i周中(生成价格加储存价格)最低的周数生产int main(){ int n,s; scanf("%d %d",&n,&s); int del[n]; int cost[n]; int i; for(i=0;i<n;i++){ scanf("%d %d",&cost[i],&del[i]); } long long sum = 0; int j; for(i=0;i<n;i++){

2021-03-31 18:21:31 68

原创 POJ 3190: Stall Reservations

思路:1、读入数据,将奶牛的相关数据存在数组中,按开始时间从前到后排列2、定义最小堆(位于根上的奶牛的结束时间最早)(用于找到已经使用结束的牛棚。若用数组存储每个牛棚的使用结束时间,再找结束时间最早的牛棚的方法会超时)3、将第一头奶牛放入最小堆,遍历数组若堆中结束时间的最早奶牛的结束时间小于当前奶牛的开始时间,将堆的根弹出,将当前奶牛压入堆否者(堆为空或堆中结束时间的最早奶牛的结束时间大于当前奶牛的开始时间),所需的牛棚数量加1,将当前奶牛压入堆想不通的问题:1、为什么数组要按奶牛开始时间从前

2021-03-31 13:35:36 102

原创 POJ 1328: Radar Installation

思路:思路:利用贪心算法从左往右安雷达,每次都将雷达安在所能安的位置中的最右边的位置根据题意,该位置为以未被雷达覆盖的岛屿为圆心的圆与海岸线的交点中的第一个右交点#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include<map>#i

2021-03-30 20:08:59 118

原创 POJ 2376: Cleaning Shifts

思路:使用贪心算法贪心的规则是:每次选取所有起始时间在起始班次之前的母牛中结束时间最靠后的母牛#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include<map>#include<set>using namespace

2021-03-30 15:35:05 116

原创 AOJ 0525: Osenbei

思路:行的规模较小,列的规模较大对行和列分别进行处理:1、先对行进行深度优先搜索,遍历对行翻转处理后的所有可能2、对行翻转处理后的的每一种可能进行处理,遍历每一列,若该列为正多反少,不翻转,反之翻转3、计算行列翻转后的每一种可能的正面朝上的烧饼的数量,找到最大值#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm&

2021-03-30 14:40:21 87

原创 POJ 3050: Hopscotch

思路:1、遍历网格中的所有点,以遍历到的点为起点进行深度优先搜索,深度优先搜索递归6次后返回2、用set来存储所得到的数,以达到去重的目的#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include<map>#include<set

2021-03-30 13:37:59 158

原创 POJ 3187: Backward Digit Sums

思路:使用函数next_permutation()按字典序从大到小的顺序进行全排列,每次更新排列后都检查当前排列是否符合所给条件,若符合输出#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include<map>using namespace

2021-03-30 12:53:18 71

原创 POJ 2718: Smallest Difference

思路:对数进行全排列,然后切割,计算两数之差的绝对值,不断更新结果使用algorithm中的next_permutation()函数:用法:next_permutation(start,end);(start和end分别为数组的头和尾指针)作用是将更新数组中元``素的排列顺序,新排列的字典序是所有字典序大于原排列的排列中最小的那个,即不存在排列x,使得字典序大小为为:原排列<x<新排列若是下一个排列存在,即存在比当前排列字典序更大的排列存在,返回值为true若下一个排列不存在,返回

2021-03-30 11:13:16 136

原创 AOJ 0121: Seven Puzzle

自己没想出来,看了其他人的思路思路:用bfs和逆向处理1、用bfs逆向推理出从终点到所有的起点所需的距离(用map表示)2、用map进行查找#include <cstdio>#include <cstring>#include <stack>#include <queue> #include <algorithm> #include<iostream>#include<map>using namespa

2021-03-29 22:43:44 160

空空如也

空空如也

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

TA关注的人

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