VIrtuoso

两把多兰剑加个布甲鞋

导航

上一页 1 ··· 7 8 9 10 11 12 下一页

2018年11月12日 #

Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) C. The Tower is Going Home(思维+双指针)

摘要: 题意 一个宽为1e9 1e9的矩阵中的左下角,放置一个车(车可以移动到同一行或同一列),放置一些墙,竖的占据一列,横的有一的长度,问车从最下角走到第1e9行最少拆多少面墙? 思路 看了看数据范围以为是一道离散化的题,但是发现车可以往左走 然后再明确了一下题意,墙是永久拆去的,反应到可以优先拆竖着的墙 阅读全文

posted @ 2018-11-12 20:52 VIrtuoso 阅读(96) 评论(0) 推荐(0) 编辑

Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path(字典序)

摘要: 题意 给你一个n n充满小写字母的矩阵,你可以更改任意k个格子的字符,然后输出字典序最小的从[1,1]到[n,n]的路径(1 define M 2005 using namespace std; int n,k,i,j,p,vi[M][M],f[M][M]; char s[M][M],mi; int 阅读全文

posted @ 2018-11-12 14:23 VIrtuoso 阅读(90) 评论(0) 推荐(0) 编辑

2018年11月10日 #

D. Three Pieces(dp,array用法,棋盘模型)

摘要: 题意 给你一个方阵,里面的数字从1~n n,你需要从标号为1的格子依次走到标号为n n,在每一个格子你有两个决策: 1.换工具(车,马,象) 2.不换工具,继续走 换工具本身算作一步,问最少需要多少步才能完成目标,要是步数相同,需要换工具步数最小 思路 思路十分明确,每个格子有三个状态,处理出每个格 阅读全文

posted @ 2018-11-10 20:39 VIrtuoso 阅读(242) 评论(0) 推荐(0) 编辑

2018年11月8日 #

Codeforces Round #517 (Div. 2) C. Cram Time(思维+贪心)

摘要: 题意 给你a,b,让你找尽量多的自然数,使得他们的和 错误贪心思想:假如加到不能再加,同样是只能再加一个数了,不如把小的数留给后面 然后就一直wa 正确思路 贪心策略有问题,因为留给第一个数的不一定是[1,2...5,6,100]这样两段数,有可能根据a,b的大小,第一个数也有可能是三段,四段。。。 阅读全文

posted @ 2018-11-08 13:57 VIrtuoso 阅读(158) 评论(0) 推荐(0) 编辑

2018年11月4日 #

Codeforces Round #516 (Div. 2, by Moscow Team Olympiad) D. Labyrinth(重识搜索)

摘要: 题意 给你一个有障碍的图,限制你向左向右走的次数,问你可以到达格子的个数 思路 可以定义状态为vi[x][y][l][r],状态唯一,理论上可以bfs或者dfs都可以搜出唯一结果,但是时间空间复杂度都不允许 进而 要不改变状态定义或者找找规律或者思考贪心(调整访问顺序) ~~在做这道题之前并不知道便 阅读全文

posted @ 2018-11-04 16:38 VIrtuoso 阅读(104) 评论(0) 推荐(0) 编辑

2018年11月2日 #

Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum

摘要: 题意 求出l到r之间的符合要求的数之和,结果取模998244353 要求:组成数的数位所用的数字种类不超过k种 思路 这题一看就是个数位dp的模板题,但是由于以前没有完全理解数位dp加上xjb套模版,导致样例都没算出来 一开始这样定义状态 dp[i][j] 代表第cnt~i(高位到低位)位,cnt~ 阅读全文

posted @ 2018-11-02 12:21 VIrtuoso 阅读(122) 评论(0) 推荐(0) 编辑

2018年10月30日 #

Codeforces Round #519 by Botan Investments F. Make It One

摘要: 题意 给你n个数,求一个最小集合,这个集合里面数的最大公因数等于1 1 define ll long long using namespace std; const int P =1e9+7; const int M =3e5+5; ll F[M],Finv[M],inv[M],dp[20][M], 阅读全文

posted @ 2018-10-30 14:24 VIrtuoso 阅读(280) 评论(0) 推荐(0) 编辑

2018年9月12日 #

ACM-ICPC 2018 沈阳赛区网络预赛 B Call of Accepted(表达式求值)

摘要: 题目链接: 相关前置链接 思路 调度场算法+后缀表达式(逆波兰)求值 先将中缀表达式化成后缀表达式(调度场) 在对后缀表达式求值 前缀和处理优先级+递归构造表达式树 括号内的元素优先级较高,因此处理出来每个位置的前缀和越大的优先级越高 构造表达式树本质: 优先级越高越早计算,意味着越靠近递归返回边界 阅读全文

posted @ 2018-09-12 17:06 VIrtuoso 阅读(133) 评论(0) 推荐(0) 编辑

2018年9月11日 #

ACM-ICPC 2018 徐州赛区网络预赛 J Maze Designer(最大生成树,倍增lca)

摘要: 要求在一个矩形中 任意 选两个点都有唯一的通路,所以不会建多余的墙。 要求满足上述情况下,建墙的费用最小。理解题意后容易想到首先假设全部墙都建起来,然后拆掉费用最大的边使图成为一棵树,就是求一颗最大生成树 求出最大生成树后,求任意两点的距离,直接用lca就可以 思路 c++ include defi 阅读全文

posted @ 2018-09-11 23:28 VIrtuoso 阅读(152) 评论(0) 推荐(0) 编辑

ACM-ICPC 2018 徐州赛区网络预赛 G Trace(逆向,两颗线段树写法)

摘要: 思路 凡是后面的轨迹对前面的轨迹有影响的,可以尝试从后往前扫 区间修改需要push_down,单点更新所以不需要push_up(用于区间查询) 多颗线段树的时候将函数写进结构体里,这样所有函数只需要写一次了 c++ include define pb push_back define M 10000 阅读全文

posted @ 2018-09-11 15:46 VIrtuoso 阅读(142) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 下一页