摘要:
chunlvxiong的博客 DAY1: T1:玩具谜题 直接模拟即可,对于每次操作直接计算出下一位置,时间复杂度O(M)。 T2:天天爱跑步 一个简单的做法:你可以预处理计算出所有si和ti的LCA,然后对于每个观察员,判断它是否在si到ti的道路上,如果是计算出到达它的时间,如果与其观察时间相符 阅读全文
摘要:
chunlvxiong的博客 题目描述: 用一台打字机打印单词,每个单词都有一个代价值ci,连续打印k个单词的代价为(Σci)^2+m,问打印完所有n个单词的最小代价是多少?(1≤n≤500000) 思考&分析: 很快能想到O(N^2)的DP,DP方程:dp[i]=min(dp[j]+(sum[i] 阅读全文
摘要:
chunlvxiong的博客 DAY1: T1:铺地毯 由于后面铺的地毯会覆盖前面的地毯,所以对于询问,你可以倒往上搜,一旦发现一张地毯能覆盖该点,输出其编号然后break。如果没有一张地毯能覆盖该点就输出-1。 T2:选择客栈 条件是两个(假设选择x,y两个客栈): 1、color[x]=colo 阅读全文
摘要:
chunlvxiong的博客 题目描述: 有两个栈A和B,以及四种操作:元素入栈A称为操作a,元素出栈A称为操作b,元素入栈B称为操作c,元素出栈B称为操作d。现在有一个长度为n(1≤N≤1000)的全排列序列,要求通过两个栈,输出1..N的序列,问能否达成,若能,则要求输出字典序最少的方案。 思考 阅读全文
摘要:
chunlvxiong的博客 本文默认#include <bits/stdc++.h>,默认using namesapce std。 一、vector vector相当于一个动态的数组。 1、定义:vector <int> a--这样a的存储数据类型为int,你也可以定义一个结构体,例如vector 阅读全文
摘要:
chunlvxiong的博客 DAY1: T1:转圈游戏 可以发现答案为[x+m*(10^k)]%n。 瓶颈在于k最大10^9,用快速幂轻松解决。 T2:火柴排队 容易发现,当最小的ai对应最小的bi,第二小的ai对应第二小的bi,……时两列火柴之间距离最小。 然后你发现可以一个序列不动,只移动另一 阅读全文
摘要:
chunlvxiong的博客 DAY1: T1: Vigenere密码 简单模拟题。照着题目走就好了。无智商含量。 T2:国王游戏 这题还是比较有趣的,思考方式如下: 设第i个人左手上的数为Ai,右手上的数为Bi。 假设X排在Y前面一个位置,同时X前面的人左手数字乘积为C。 那么X获得的奖赏为C/B 阅读全文