随笔分类 - Vijos
摘要:题目链接: https://vijos.org/p/1104 题目大意: T时间,n个物品,每个耗时ti,可获得收益ci,求最大收益。 题目思路: 【动态规划】 01背包裸题。一维二维都过了,放个一维吧。 1 // 2 //by coolxxx 3 ////<bits/stdc++.h> 4 #in
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1037 题目大意: 给n块砖的长度(n<=100),问从中任选m块砖能否建成2个相同高度的塔。 能的话求最高高度,不能输出 Impossible 。 题目思路: 【动态规划】 想了好久f[i][j]表示前 i 块砖较矮的塔高度为 j 时 塔的差距
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1472 题目大意: S1={1,2,3…n}。当i>1时,Si为集合Si-1中任意两个不相同数之和的集合。 将每个集合中所有元素取出,集合Si的数放在集合Si+1的数的前面,同一个集合数从小到大排序,这样得到一个序列L。 题目输入n和K,求L中第
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1051 题目大意: 给一张‘-’和‘#’的图,规定曼哈顿距离小于等于2的‘#’属于同一图案,求图案数。【曼哈顿距离:对于A(x1,y1)和B(x2,y2),A和B之间的曼哈顿距离为|x1-x2|+|y1-y2|】 题目思路: 【宽搜】 找到一个没
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1015 题目大意: n*m的网格,线只能在网格的顶点处才能从布的一面穿到另一面。每一段线都覆盖一个单位网格的两条对角线之一,而在绣的过程中,一针中连续的两段线必须分处布的两面。 给出布两面的图案,问最少需要几针才能绣出来?一针是指针不离开布的一次
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1046 题目大意: 给n个点(n<=100),m条无向边(m<=10000),问这张图的最小环长度。 (注意:无自环,同一个点对之间的多条路最终只算作1条而不是2个点的环,被这里坑了一次) 题目思路: 【最短路】 无向图最小环问题。 有向图最小环
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1114 题目大意: 把01串一分为二,左半边描述当前节点左子树,右半边描述右子树,子树全为1则为I节点,全为0则为B节点,混合则为F节点,直到当前串长度为1停止。 给定01串,求FBI树后序。 题目思路: 【递归】 每次操作先操作左子树,再操作右
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1132 题目大意: 给定二叉树的中序和后序遍历,求该二叉树先序遍历。 题目思路: 【递归】 这题妥妥递归。 二叉树先序根左右,中序左根右,后序左右根。 对于每一颗子树,它的后序最后一个必定是根,于是可以根据根在中序的位置把左子树和右子树区分开来。
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1062 题目大意: 一群男女站成一排,一男一女配对,女的只找左边第一个空闲的男生,给定前n个女生左边的额男生个数,问前n个女生到男伴之间共有几个男生。(n<=1500 女生左侧男生231内) 题目思路: 【模拟】 每个女生只找左边的最靠近的闲置男
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1012 题目大意: 给n个坐标(n<=100 000),求直线距离最短是多少。数据较大用long long 或 double 题目思路: 【枚举】 正解貌似是分治,不过我一看就暴力枚举+剪枝了。 先按x y为第一、第二关键字排序。 设当前最优解为
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1011 题目大意: 给一张N*M的地图(N,M<=500),可从任一点开始沿上下左右走,只能走比当前低的地方。问最长能走多少格。 题目思路: 【动态规划】 这题就是滑雪,动态规划。 将高度排序后从低往高算,当前高度所在的格子上下左右比当前高度低就
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1010 题目大意: 多组数据,求R的n次幂(R为不超过9999.9的小数 n<=200)R保证占6位 不输出前导0和后缀0,整数就只输出整数部分 题目思路: 【高精度】 直接用double算是肯定不行的。毕竟精度要求那么高。 做法是先记下最终要输
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1009 题目大意: 两个人,一个在坐标x,每天走m,一个在坐标y,每天走n,坐标长L,问几天后碰面。 题目思路: 【扩展欧几里德】 根据同余方程的ax+by=c,可以得出a=n-m,b=l,c=x-y 之后扩展欧几里得求线性同余方程。 题目数据较
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1926 题目大意: 给n个数(n<=100 000),求任意区间的最大值异或次大值的最大值。 题目思路: 【模拟】【单调栈】 我们维护一个严格单调递减队列,存放当前的数字,初始为前两个数字。 每当加入新的元素时,依次与栈头的元素比较,每次比较更新
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1771 题目大意: 给定2N个人(N<=100 000)和其初始分数、能力值(能力两两不同),比赛M次(M<=50),每次PK都是按分数排序后第1和第2比,第3和第4比....能力高的获胜,问比M次后第Q个人是谁。 题目思路: 【单调队列】 略加
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1582 题目大意: 就是o(o<=50)个人在n*m(n,m<=2000)的格子上放L型的东西(有点像俄罗斯方块的L,可对称旋转),问第几个人覆盖全图或无解。 题目思路: 【数学】 n*m%8如果为0则(n*m/4-1)%o+1那个人胜利。 否则
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1360 题目大意: 3x3格子上放1~8数字,一个空位,每次空位可与上下左右交换,固定终止布局,求输入的起始布局需要几步到达终止布局 题目思路: 【搜索】 一眼题BFS,宽搜即可,判重我比较暴力直接把状态记下,没hash、cantor什么的。 1
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1496 题目大意: 给你n(n<24)根火柴棍,你可以拼出多少个形如“A+B=C”的等式?("+"和"="各自需要两根火柴棍) 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0) n根火柴棍必须全部用上 题目思路: 【枚举】 
        阅读全文
                
摘要:题目链接: https://vijos.org/p/1206 题目大意: 给你开始和结束两张4x4的01图,每次操作只能够交换相邻的两个格子(有公共边),问最少的操作步数。 题目思路: 【搜索】 这题一看就是一道BFS(宽搜),判重的时候2进制压位就好,总共16位,最大不会超过216 -1(6553
        阅读全文
                
                    
                
浙公网安备 33010602011771号