【lightoj-1046】Rider(BFS)】的更多相关文章

链接:http://www.lightoj.com/volume_showproblem.php?problem=1046 题意: 给m*n的棋盘,数字k代表这个位置上有棋子,并且一步可以连续跳1-k下,求所有棋子跳到同一位置的最小步数. 思路 容易想到用bfs,计算所有棋子在一个格子的步数,找出步数最小的格子就可以了. #include<bits/stdc++.h> using namespace std; ][]; ][], n, m; ][][]; struct node { int x…
1046: [HAOI2007]上升序列 Description 对于一个给定的S={a1,a2,a3,-,an},若有P={ax1,ax2,ax3,-,axm},满足(x1 < x2 < - < xm)且( ax1 < ax2 < - < axm).那么就称P为S的一个上升序列.如果有多个P满足条件,那么我们想求字典序最小的那个.任务给出S序列,给出若干询问.对于第i个询问,求出长度为Li的上升序列,如有多个,求出字典序最小的那个(即首先x1最小,如果不唯一,再看x2…
(是时候为五一培训准备真正的技术了qwq) part1  队列(FIFO) 算法简介: FIFO:First In First Out(先进先出) 队列是限定在一端进行插入,另一端进行删除的特殊线性表. 允许出队的一头叫做队头(head||front),允许出队的一端称为队尾(rear||tail)所有需要进队的数据项,只能从队尾进入,队列中的数据只能从队头离去qwq. 今天wz小姐姐讲惹一小时滴不知道有什么用滴东西qwq,这里做个笔记吧ヽ(•̀ω•́ )ゝ 1.队列在c语言中的语法? No.1…
[链接] 我是链接,点我呀:) [题意] 让你判断一个序列是否可能为一个bfs的序列 [题解] 先dfs出来每一层有多少个点,以及每个点是属于哪一层的. 每一层的bfs如果有先后顺序的话,下一层的节点的出队也是有先后顺序的 因此x是当前层只是一个简单的判断条件,还需要更深入的判断 也就是说它是不是应该在这个时候从队列中出来,也就是说它前面是不是应该有节点比它先出现. 我们需要记录每个节点(dep层)的priority值. 这个值表示了这个节点x它的直系儿子们(dep+1层)在所有dep+1层出现…
[链接]https://cn.vjudge.net/problem/LightOJ-1205 [题意] 求出L..R范围内的回文个数 [题解] 数位DP; 先求出1..x里面的回文串个数.则做一下前缀和减掉就可以求出L..R之间的了 dfs(int start,int cur,bool ok,bool xiao){ 其中start表示是从哪一位开始进行扫描的,这个东西用来处理前导0; cur表示当前搜索到了第几位数字. ok表示当前搜索到的字符串是否为回文. xiao则表示是否出现已经搜索的某一…
http://codevs.cn/problem/1046/ Solution: 贪心,如果当前油价很低,它就比起当前剩余油的价还低就可以替换,并且每次加满,最后把剩的油卖掉即可 油价用单调链表(不知到为什么会写链表,脑抽,当时觉得插入方便,其实不用插入...尴尬)维护 or 堆(你也可以脑抽,加个log),没事啦,数据水 // <travel.cpp> - 06/23/16 12:55:15 // This file is made by YJinpeng,created by XuYike…
-->迷宫  Descriptions: 一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行.同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到.如果起点或者终点有一个不能通行(为#),则看成无法办到. Input 第1行是测试数据的组数k,后面跟着k组输入.每组测试数据的第…
选择V-S中的点加入S时用了贪心思想,即求d[]中legth最小且未被标记(未加入加入S)的点. 一点都没优化的实现: import java.lang.reflect.Array; /** * Created by yueli on 2018/10/14. */ public class Dijkstra { boolean mark[]=new boolean[5]; int v[][]={{0,10,-1,30,100}, {-1,0,50,-1,-1},{-1,-1,0,-1,10},{…
题 题意 告诉我们每天要穿第几号衣服,规定可以套好多衣服,所以每天可以套上一件新的该号衣服,也可以脱掉一直到该号衣服在最外面.求最少需要几件衣服. 分析 DP,dp[i][j]表示第i天到第j天不脱第i天之前的衣服最少需要的衣服数量,那就可以由和第j天穿一样的衣服的第k天转移过来,或者再套一件第j天的衣服. 状态转移方程:dp[i][j]=min(dp[i][k]+dp[k+1][j-1],dp[i][j-1]+1)(i≤k<j,a[j]==a[k]) 算的时候i从大到小算,因为算dp[i][j…
标签:图结构 最短路 题目大意:给你一个无向图,至少经过3个节点的简单回路(不能包括其他环) 一开始的思路:用一个NUM[i][j]表示i到j的最短路经过几个节点,显然解法不太优美,而且还是错的 再想了的思路:当存在一个中间点来更新F[i][j]的时候顺便更新ans,这样求出来的不是一个简单回路....会经过重复节点 此时我终于知道 我题目意思都没思考清楚...题目的意思是.. 保证环不能有交点... 题解: 将环劈成三段.. 环,,i,j,k三点,环长则为三点 两两间距, 且路不能有交点, 所…