DYM Blog

Thinking will not overcome fear but action will.

USACO/American Heritage

USACO/American Heritage

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacoamerican-heritage/ 根据二叉树中序遍历和前序遍历输出后序遍历 解法:递归重建树,然后后序遍历 #include<iostream> #include<vector> #include<fstream> #include<stri...

USACO/Camelot

USACO/Camelot

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacocamelot/ 棋盘上有一个王和n个骑士,王可以走直线或对角线,一次一格,骑士走日字。 问所有的棋子汇集到一格中所需的最少步数, 走的过程中,骑士可以接到王,然后骑士带着王一起走,此时只算骑士的步数。 解法:先预处理出所有的骑士到所有格的最短距离,使用bfs。 枚举所有的格子为终点,其...

USACO/A Game

USACO/A Game

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacoa-game/ 双人游戏:N个正整数的序列,由玩家1开始,两人轮流从序列的任意一端取一个数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束。以最终得分多者为胜。编一个执行最优策略的程序,最优策略就是使玩家在与最好的对手对弈时,能得到的在当前情况下最大的可能的总分的策略。程序...

USACO/Home on the Range

USACO/Home on the Range

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacohome-on-the-range/ 计算如下形式的数字矩形中由1组成的正方形(边长大于1)的个数。 101111 001111 111111 001111 101101 111001 解法:动态规划。f[i][j]表示由坐标(i,j)为右下角的正方形的最大边长,则: f[i][j] = ...

USACO/Shopping Offers

USACO/Shopping Offers

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacoshopping-offers/ 商店中,每一种商品都有一个价格,促销活动把一个或多个商品组合起来降价销售,计算顾客购买一定商品的花费,尽量利用优惠使花费最少。 解法:动态规划,可以把每种普通商品都转化为一种优惠商品,然后针对5种商品的需求量和所有的优惠商品将问题转化为5维的背包。 #i...

USACO/Riding the Fences

USACO/Riding the Fences

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacoriding-the-fences/ 打印欧拉路。因为需要打印进制转换后最小的数字序列,所以每次要选最小的开始递归,最后逆序输出。这里使用邻接矩阵比邻接表方便,因为使用邻接矩阵不需要再排序。 #include<iostream> #include<stdio.h>...

USACO/Sweet Butter

USACO/Sweet Butter

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacosweet-butter/ 给定一个图,求图上所有点中到几个给定点的距离和的最小值。 解法:邻接表实现的spfa #include<iostream> #include<algorithm> #include<fstream> #include<...

USACO/Magic Squares

USACO/Magic Squares

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacomagic-squares/ 给定一个固定长度的字符串,并给定在这个字符串上的3种操作,问通过不停地使用三种基本操作,原字符串能变换为目标字符串所需的最少操作步数,并输出操作序列。 解法:bfs , 注意将整型数组转化为string的技巧 /* ID: duyimin1 PROG: ms...

USACO/Feed Ratios

USACO/Feed Ratios

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacofeed-ratios/ 给出目标饲料 3:4:5 和三种饲料的比例: 1:2:3 3:7:1 2:1:2 编程找出使这三种饲料用量最少的能配出目标饲料的方案,要是不能用这三种饲料调配目标饲料,输出“NONE”。例: 8(1:2:3) + 1(3:7:1) + 5...

USACO/Spinning Wheels

USACO/Spinning Wheels

本文迁移自老博客,原始链接为 https://seven.blog.ustc.edu.cn/usacospinning-wheels/ 给定有缺口的五个同心圆,各自以不同的速度旋转,问最短经过多少时间五个同心圆的缺口可以出现重叠 解法:模拟 #include<iostream> #include<algorithm> #include<fstream>...