ICode9

精准搜索请尝试: 精确搜索
  • 【ybtoj】【BFS】【例题3】立体推箱子2021-01-09 09:32:30

    【例题3】立体推箱子 Link解题思路Code Link 传送门 题目 解题思路 记录状态时将坐标和木块状态一起记录 ( q [ x ]

  • 【dfs】拔河比赛(ybtoj dfs-1-1)2021-01-09 09:32:16

    拔河比赛 ybtoj dfs-1-1 题目大意 给你n个数,让你分成两堆,使其数量相差不大于1,问数值相差最小是多少 输入样例 1 3 55 50 100 输出样例 5 数据范围 1 ⩽ T ⩽

  • YbtOJ 广度搜索课堂过关 例2 【bfs】2021-01-09 09:03:38

    思路 这道题用广搜实现,我们可以bfs一次山峰,bfs一次山谷。 当一个范围周围所有数都没有它高时,它就是山峰; 当一个范围周围所有数都比它高时,它就是山谷。 C o d

  • 【二分】防具布置(ybtoj 二分-1-2)2021-01-08 20:32:22

    防具布置 ybtoj 二分-1-2 题目大意 给出n组数: s i , e i ,

  • 【二分】数列分段(ybtoj 二分-1-1)2021-01-08 20:00:45

    数列分段 ybtoj 二分-1-1 题目大意 给出一个序列A,让你把它分成m段,使每段和最大值最小 输入样例 5 3 4 2 4 5 1 输出样例 6 数据范围 1 ⩽ M ⩽

  • YbtOJ 深度搜索课堂过关 例2 数独游戏【深度优先搜索】2021-01-03 15:30:50

    思路 这道题用搜索实现。 我们可以用三个数组 l , h , g g l,h,gg

  • 【YbtOJ高效进阶 递推-5】平铺方案2020-12-26 15:29:47

    小目录 链接题目描述样例输入样例输出思路代码 链接 YbtOJ高效进阶 递推-5 题目描述 您可以通过几种方式用 2 ∗ 1 2*1 2∗1 或

  • 【YBTOJ】数列分段2020-12-26 15:04:23

    思路: 这题看到最大值最小,就想到用二分 二分答案,每次check一下即可 c o d e code code #include<iostream>

  • YbtOJ 贪心算法课堂过关 例4 国王游戏【贪心】2020-12-26 12:32:52

    思路 这道题其实主要的难点是如何排序。 排序之后贪心就非常简单了。 考虑贪心邻项交换 设 s i = ∏

  • ybtoj·奶牛晒衣服【贪心】2020-12-26 11:31:54

    奶牛晒衣服 Description--解题思路--代码-- Description– 高效进阶「基础算法」第2章 贪心算法课堂过关 例题1 解题思路– 每一次烘干当前湿度最大的衣服(用大根堆维护即可) 代码– #include <iostream> #include <cstdio> #include <queue> using namespace std; pr

  • 数的划分【Ybtoj】2020-12-26 10:34:04

    D e s c r i p t i

  • 《ybtoj高效进阶》第一部分第五章例题3 立体推箱子2020-12-26 09:04:33

    题目大意 你的任务是操作一个 1 *1 *2 的长方体。 把它从x挪到o,每一次操作4个方向,沿棱滚90°,有#地不能走,E地不能立着,x可能有2个即开始时可以为横着或竖着,但o只有一个,多组数据,给出棋盘大小和棋盘. 思路 如果是立着的,以0表示状态,x,y为坐标,横着的,以1表示,x,y为左边的坐标,竖着的,以2

  • 【YBTOJ】【USACO03MAR】最大均值2020-12-26 09:01:11

    题目大意: 给定正整数序列 \(A\),求一个平均数最大的,长度不小于 \(L\) 的(连续的)子段。 正文: 二分平均值,如果原序列减去所二分的值,那么就能找到其中的单调性:若平均值过大,最大的长度不小于 \(L\) 的子段和是负数;过小则会很大。 那么根据这个为 key 二分,就能得到答案。但注意精度问题。

  • 《ybtoj高效进阶》第一部分第五章例题2 山峰与山谷2020-12-25 22:02:27

    题目大意 输入一个n*n的矩阵,每一个权值相等的连通块,有: 当该连通块周围全都比它小,为山峰当该连通块周围全都比它大,为山谷如果全地图只是一个连通块,既是山峰也是山谷否则,啥也不是 求山峰山谷个数. 思路 对于每一个连通块,求它是山峰还是山谷 code: #include<iostream> #include<q

  • 【DP】数的划分(ybtoj DP-1-1)2020-12-25 21:34:19

    数的划分 ybtoj DP-1-1 题目大意 给你一个n,让你分成k份,问有多少种分法(1,2和2,1为同一种) 输入样例 7 3 输出样例 4 样例解释 四种分法为: 1 , 1 ,

  • ybtoj·数的划分【递推】2020-12-25 21:33:27

    数的划分 Description--解题思路--代码-- Description– 高效进阶「基础算法」第1章 递推算法课堂过关 例题3 解题思路– 设f[i][j]为整数i分成j份的方案数 使j份中至少有一份为1(最后一份放1),则方案数为f[i-1][j-1]使j份中一份1都没有,我们先将i-j分成j份,再在每一份中加1

  • YbtOJ 递推算法课堂过关 例5 平铺方案【递推(简单DP)】2020-12-25 20:57:52

    思路 首先读题可得设 f [ i ] f[i] f[i] 表示 2

  • 【DP】错排问题(ybtoj DP-1-1)2020-12-25 19:57:38

    错排问题 ybtoj DP-1-1 题目大意 求n个数的错排种数 输入样例 2 输出样例 1 数据范围 1 ⩽ n ⩽ 20

  • 【YBTOJ】传球游戏2020-12-24 16:59:04

    思路: 这是一道DP题 首先我们设f[i][j]表示在第i次传球中,求在j手中的方案数 那么从j-1和j+1可以传到它手中,所以转移方程就是 f [ i ]

  • 《ybtoj高效进阶》第一部分第一章例题5 平铺方案2020-12-19 09:05:47

    题目大意 用21或22的方块平铺2*n的矩阵,求方案数. 思路 显然,一个2 *2的方块可以用2个打横的2 *1方块拼出来,那么我们设f(i)为2 *i的方案数,有: f ( i )

  • 【YbtOJ#20068】连通子图2020-10-19 19:00:52

    题目 题目链接:http://noip.ybtoj.com.cn/contest/102/problem/2 输入保证答案一定存在,你输出的 \(n\) 必须是正整数且不得超过 60。对每个询问,你只需要输出任意一个合法解即可。 思路 考虑已知的一个以 \(x\) 为根的有 \(k\) 个与 \(x\) 连接的连通块,此时如果我们给 \(x\) 加一个

  • 【YbtOJ#20063】古老谜题2020-10-12 17:04:56

    题目 题目链接:http://noip.ybtoj.com.cn/contest/90/problem/1 给定一个长度为 \(n\) 的 \(01\) 序列 \(a_1\sim a_n\)。 请你求出有多少个整数三元组 \((l,r,p)\),使得 \(1\leq l<p<r\leq n\) 并且 \(a_p=1\),且 \([l,p]\) 和 \([p,r]\) 中 \(1\) 的个数相同。 思路 显然题目要求的

  • YbtOj练习:广搜1 最小权值2020-08-15 09:00:17

    这道题的数据是不是有点水?还是题目描述有问题? #include<bits/stdc++.h> #define x first #define y second using namespace std; const int N=1005; typedef pair<int,int> PII; int g[N][N],ans=0x3f3f3f3f; bool vis[N][N]; int n,m; int dx[4]={-1,1,0,0}; int dy[4]={0,0,-1

  • YbtOJ练习:贪心 例题4国王游戏2020-08-04 14:34:21

    虽然这道题是一道例题,但是因为它用到了我不大熟悉的高精度算法,所以还是决定写一写。 至于证明过程相信无论是在书上,还是网上,聪明的你都已经知道了。 #include<bits/stdc++.h> using namespace std; const int N=1010; int n,mul[N*4],Div[N*4],ans[N*4],temp[N*4]; struct node {

  • YbtOJ练习:递推4 序列个数2020-08-02 15:59:31

    #include<bits/stdc++.h> #define int long long using namespace std; const int N=10005,mod=340610; int a[N],ans=1,n; signed main() { scanf("%lld",&n); for(int i=1;i<=n;i++) scanf("%lld",&a[i]); for(int

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有