
刷题
爱学习的大白菜
网络安全小学生,兴趣为流量分类,自然语言处理。
箴言:What I cannot create, I don't understand.
展开
-
【蓝桥杯第十届省赛A组】试题D: 迷宫
一看到题目用最短的路径,首先想到要用BFS,其次,要求记录路径,我们可以在状态里面添加字符串变量(也即我的代码里面的ans,每到达一个地点字符串ans就加一个方向,即‘D’,'L','R','U'中的任意一个),当到达右下角那个点时即可输出答案。#include <iostream>#include <queue>#include <string>using namespace std;struct node{ int x, y; string an.原创 2020-10-16 17:53:11 · 221 阅读 · 0 评论 -
Invasion of the Milkweed【乳草的侵占】[USACO09OCT]【BFS】
一、原文Farmer John一直努力让他的草地充满鲜美多汁的而又健康的牧草。可惜天不从人愿,他在植物大战人类中败下阵来。邪恶的乳草已经在他的农场的西北部份占领了一片立足之地。草地像往常一样,被分割成一个高度为Y(1 <= Y <= 100), 宽度为X(1 <= X <= 100)的直角网格。(1,1)是左下角的格(也就是说坐标排布跟一般的X,Y坐标相同)。乳草一开始占领了格(Mx,My)。每个星期,乳草传播到已被乳草占领的格子四面八方的每一个没有很多石头的格(包括垂直与水原创 2020-08-03 15:03:37 · 466 阅读 · 0 评论 -
POJ3278 Cath that cow【BFS】
一、题目:就是告诉你和一头牛的位置,牛是不动的,问你最多走几步可以抓住这头牛。走步有3种方式:1. 向前走1步(step + 1)2. 向后走1步(step - 1)3. 步数乘2.(step * 2)二、广搜的一般步骤:void bfs(起始点) { 将起点放入队列中; 标记起点访问; while (如果队列不为空) { 访问队首元素x; 删除队首元素; for (x 所有的相邻点) {原创 2020-08-01 13:15:28 · 120 阅读 · 0 评论 -
牛牛打怪兽【DFS】(牛客编程巅峰赛S1第7场 - 青铜&白银)
目录一、原文输入返回输入输出说明一、原文链接:https://ac.nowcoder.com/acm/contest/6630/B来源:牛客网身为屯里第一剑士的牛牛来到训练场里闯关,由于过于勤奋,牛牛的宝剑的耐久度降到了 222 ,这意味着牛牛最多只能打倒两只怪兽,否则将会被淘汰。训练场的地图可以看作一棵以 111 为根节点的树,训练场的终点为这棵树的叶子结点,树上的每个结点最多有一只怪兽,结点与结点间的边上没有怪兽。每一个有怪兽的结点上牛牛都需要打倒..原创 2020-07-31 13:16:33 · 329 阅读 · 0 评论 -
因数最多的数【DFS】
一、题目:蒜头君对一个数的因数个数产生了兴趣,他想知道在1~n的范围内,因数个数最多的数是多少。如果有多个这样的数,他想知道最小的那个。输入格式 第一行一个整数T,表示数据的组数 接下来T行,每行一个正整数n 1<=T<=100,1<=N<=10^16 输出格式 一共输出T行,每行1个正整数表示最多因数个数的数 IInput:3101001000Output:660840二、分析这个数..原创 2020-07-30 09:23:11 · 1721 阅读 · 0 评论 -
hdu 2362 square(附网上的数据)【深搜】
一、原文大致意思:给一堆长短不一的棍子。让你求这些棍子能不能组成一个正方形。如果可以输出“yes”,否者输出“no”。二、网上的一些测试数据(源数据在这里:http://poj.org/showmessage?message_id=95450)1020 491 1050 1123 376 1045 1391 656 190 1305 537 20 533 1193 465 398 1258 756 1005 949 6320 1431 949 852 616 899 1257 413 3原创 2020-07-29 18:18:39 · 233 阅读 · 0 评论 -
HDU 1321棋盘问题【DFS】
1. 思路:①。 固定每一行,只需要判断每一列是否符合条件即可,用一个vis数组来表示每一列是否被访问。②。因为要求是放k个棋子。所以cnt == k时return。③。DFS中,当访问当前所有的列后,如果满足(总行数 - 已经过的行数 >= k - cnt),那么可以在该行不放置棋子,考虑下一行,cnt不增加。#include <iostream>using namespace std;int n, k, ans;char chess[10][10];b.原创 2020-07-26 19:26:59 · 171 阅读 · 0 评论 -
HDU2614 Beat题解【DFS】
一、原文:DescriptionZty is a man that always full of enthusiasm. He wants to solve every kind of difficulty ACM problem in the world. And he has a habit that he does not like to solvea problem that is easy than problem he had solved. Now yifenfei give him n原创 2020-07-26 18:46:29 · 244 阅读 · 0 评论 -
HDU 2199 Can you solve this equation?
这道题主要是考察“二分法”,是二分法的经典应用(要求函数连续且递增)。层层逼近最佳值。1.先定义一个函数f(double x) 用来表示求把x带入函数f的值。f就是 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 。2.由于函数递增,容易得到y < f(0)时没有结果,且y > f(100)时没有结果。此时输出“No solution!”。3.当有结果可以输...原创 2020-03-03 12:07:17 · 153 阅读 · 0 评论 -
hdu1754 I hate it【线段树:单点更新】
代码:与HDU1166敌兵布阵相似,都是线段树的简单应用。#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int N = 200010;const int inf = 0x3f3f3f3f;struct segTree{ ...原创 2020-01-27 17:19:45 · 143 阅读 · 0 评论 -
HDU2188 选拔志愿者题解
一. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188二.思想: 这道题是一道博弈的题目,名字叫“巴什博奕”,说一堆物品有n个,两个人轮流从这堆物品取东西,每次最少取一个,最多取m个,最先取完的获胜。 首先考虑,这堆有m+1个物品,即 n = m + 1,这时候,先取的人最少拿1个,最多拿m个,则后取的人只要拿剩...原创 2019-12-24 13:22:14 · 278 阅读 · 0 评论 -
HDU 2602 Bone Collector【01背包】
这是01背包经典题,也是曾经忘了又记,记了又忘的题目,写到优快云上方便回忆。推荐可以看看b站的一个视频解释:https://www.bilibili.com/video/av36136952?from=search&seid=157092585075109696661.简介:一共有N种不同的物品,每种物品有价值 v[ i ],和重量 w[ i ], 我的背包能承重V,希望能求...原创 2019-10-08 11:07:18 · 190 阅读 · 0 评论 -
HDU1030 Delta-wave【详细解释】
1.问题简介:给你一个三角形里面是successive integer(连续的整数)。要求只能通过边来从一个元素访问另一个元素,求从点M到点N的最短路径(即从M开始最短通过几条边到达N)。原文图像2.问题分析:为了更方便的分析,我画了一张图来看里面的结构,即只能通过边来访问。(发现这个图很美,有点像蜂巢的六边形,不断延续下去)。最开始我是想通过dijkstra最短路访问,最后发现构图...原创 2019-09-14 19:01:45 · 494 阅读 · 0 评论 -
HDU2060 Snooker斯诺克
1.题意玩snooker(斯诺克)游戏,一共有21只目标球,15只红球(红球每个为1分,6只彩球(分值分别是2,3,4,5,6,7)。游戏规则是如果桌面上还有红球,就必须先打红球,打入洞可以再打彩球,彩球打入洞后可以拿出来并获得相应的分数,赢了后可以交替循环。如果桌面上没有红球了,只有彩球,那么这时候打彩球只能按着一定的顺序来打,从2,3一直到7分球,(桌上没有红球后,最后的这几个彩球打入洞后...原创 2019-09-08 16:31:53 · 381 阅读 · 0 评论 -
HDU1060 Leftmost Digit
1.题目简介:求一个n^n的最左一位。n也是大数,大小是0<n<1,000,000,000, 所以直接算要么是超时,要么是数据溢出。所以不能硬算。2.技巧点拨:(由于要推导,我将过程写在了纸上)3.困难实现:①。怎么取整,如1.438...,怎么得到1? 用强转类型的方法很容易得到,如(int )1.438.. = 1.即它的最左边...原创 2019-09-04 18:51:44 · 241 阅读 · 0 评论 -
POJ 1088滑雪【动态规划】
一。借鉴了两位大神的做法:1.https://blog.youkuaiyun.com/huanghanqian/article/details/516462412.https://blog.youkuaiyun.com/Harington/article/details/86534326(第二位大神是3种做法,其中 我的做法是“我为人人”的思想)。第一位大神还给了测试用例:(特别感谢)/*测试数据S...原创 2019-07-09 16:09:48 · 334 阅读 · 0 评论