随笔分类 - 模拟
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 我们考虑每个字符串中出现最多的字母出现的次数cnt[3] 对于这3个cnt的值。 如果cnt+ns[i].size() 那就有问题了。 因为每次变换的字母不能和原来的一样。 因此全都变成某个字母之后。接下来肯定会破坏这个全都一样
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 第一个位置确定了。 那么可以通过a[i 1]来推测出第i个位置应该放什么。 所以分两种情况就好。 第一个位置为0 或第一个位置为1 最多只有这两种可能。 判断合法性就好。 【代码】 cpp include define LL l
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你在树上找一个序列。 这个序列中a[1]=R 然后a[2],a[3]..a[d]它们满足a[2]是a[1]的祖先,a[3]是a[2]的祖先。。。 且w[a[1]] 【题解】 考虑一个naive的思路。 定义一个next[i]数组,表示i往上最近的权值大
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 写个记忆化搜索。 接近O(n)的复杂度吧 【代码】 cpp include using namespace std; const int N = 1e6; int g[N+10]; int pre[N+10][20]; int
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 考虑,为什么一个连通块里面的空格没有变成一个矩形? 如果不是形成矩形的话。 肯定是因为某个2x2的单张方形里面。 只有一个角是墙。其他角都是空的正方形。 举一些例子。 可以看到这个连通块不是长方形。 就是因为有 和 如果我们把这
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用一个队列来模拟排队就好。 队列放三元组(x,y,z) x表示人的下标,y和z分别表示进入和退出时间。 然后枚举时间从1到5000 看看有没有人在这个时刻入队。 有的话就入队。 入完之后。 再处理在队头的人。 如果已经超过了最晚
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 记录下水龙头在哪些位置。 然后每秒钟把index i和index+i改变状态一下就好(置1 【代码】 cpp include using namespace std; const int N = 200; int n,k; in
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 所给的li,ri是左括号从左到右的顺序给的。 (且注意长度是2 n 现在我们先把第一个左括号放在第1个位置。 然后考虑第二个位置。 如果这个位置能放右括号和第一个匹配(位置满足在1+l[i]..1+r[i]之间. 那么我们就在第
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 根据时间和原分数。 算出对应的分数就可以了。 【代码】 cpp include using namespace std; int a,b,c,d; int main() { cin a b c d; int temp1 = ma
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 从右往左维护最大值。 看到比最大值小(或等于)的话。就递增到比最大值大1就好。 【代码】 cpp include using namespace std; const int N = 1e5; int a[N+10],n; in
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 模拟题。 两个一起用 min(a,b); 剩下的除2加上去就好 【代码】 cpp include using namespace std; int a,b; int main() { cin a b; cout
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 就是让你求m (ai/bb)的最小值 【代码】 cpp include define double long double using namespace std; int n,m; int main(){ ifdef LOCA
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用map模拟一下映射就好了。 【代码】 cpp include using namespace std; int n,m; map dic; int main(){ ifdef LOCAL_DEFINE freopen("rus
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 这个数列增长很快的。 直接暴力模拟看看是不是它的一项就好了 【代码】 cpp include using namespace std; int n; bool ff(int x){ if (x==1) return true;
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 f[x][y][z][2] 表示第一个人到了点x,第二个人到了点y,当前轮的字母(1..26),当前轮到谁走的情况下,谁赢。 写个记搜就好。 完全是模拟走的过程。。 【代码】 cpp include using namespac
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 看看什么时候t[i] t[i 1] 15。 输出t[i 1]+15就好。 不存在这样的i就输出min(t[n]+15,90) 【代码】 cpp include using namespace std; int n; int t[
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 开3个map, 存在map里面; 然后迭代第一个和第二个map; 分别与第二个和第三个map比较就可以了 【代码】 cpp include using namespace std; const int N = 1e5; map
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 统计大写和小写的个数。 比较答案。输出即可。 【代码】 cpp include using namespace std; string s[10]; map dic; int inc[300]; int main() { for
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 让你在n的因子里面找一个最大的数字x 且x的因子全都不是完全平方数(y^2,y 1) O(sqrt(n))找出n的所有因子。 然后O(sqrt(n))处理出1..N内的所有完全平方数。 用map存 对于x,看看它的因子里面有没有
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 连续两个如果不全是0就递增cnt 【代码】 cpp include using namespace std; int n,m; int main() { cin n m; int cnt = 0; for (int i = 1;
阅读全文

浙公网安备 33010602011771号