摘要:
原题链接 题意 每个矩形变成删除若干个行和列,每少一行或少一列就加一分,问加 \(k\) 分最少要删除几个格子? 分析 抽象开来,最后的答案的样子一定是第 \(i\) 个矩形加了 \(s_i\) 分 因此,我们只需要求出每个矩形加 \(s_i \in[0,a+b]\) 分时最少需要删除几个格子,然后 阅读全文
摘要:
原题链接 题意 给定一个数组,随机取两个数并相乘,求该期望 分析 暴力方法:遍历所有数对,然后累加,最后除以数对个数 \(O(n^2)\) 每个数的贡献为 \(\sum a_j,j\in[1,n],j \ne i\),遍历计算每个数对最后累加和的贡献 由于要去重,所以每个数的贡献只统计前面的数的和 阅读全文
摘要:
原题链接 题意 每个数要么黑色,要么白色,每个数都有跳往下一个数,请问你最多能得到几个黑色数? 分析 前往下一个数具有很强的指示性,所以我们可以画一个有向图出来 那么问题就变成了一个有向图,问图中的每个点最多能到达几个黑色的点?(只有一个出边) 但是注意本题,由于是排列,每个点最多只有一个入边和一个 阅读全文
摘要:
原题链接 题意 每次询问,要求给定的桥至少走,问最短距离 分析 首先要有暴力的想法 由于给定的 \(k\) 座桥不限制经过顺序,因此我们可以先假定一种过桥的顺序,然后查询 \(a_0\to a_1\) 的最短路, \(a_1\to a_2\) 的最短路.... \(a_k\to a_{k+1}\) 阅读全文
摘要:
原题链接 题意 交替向上向右走,可以不走,请问到给定点需要走几次? 分析 由于可以走0步,所以向上走和向右走是相互独立的,只需要求出他们的最大值即可 如果最后一步是向右跳,由于此时已经跳完了,所以接下来就不用向上跳了 提醒 走0步的移动也要统计在内!! code #include<bits/stdc 阅读全文