上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 27 下一页
摘要: 不知道怎么表达内心的感受。 今天(准确地说是昨天)老师找我说期末考试结束后,让我去准备一下明年五月份的省选。 当时还是挺震惊的。 没想到竟然有资格去参加省选。 记得这几年, 参加省选就像是一个遥不可及的梦, 还笼着一层细细地薄纱, 只能站在一边, 静静地凝望。 虽然这次一定选不上, 甚至极有可能倒数 阅读全文
posted @ 2020-12-22 00:38 尹昱钦 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 传送门 以这个做模板还是很纠结的…… 解题思路 01字典树,就是一个二叉的字典树,把许多数字二进制拆分,然后扔进字典树里,就可以进行许多骚操作。 回到这个题,朴素算法为预处理出每个点到根节点的路径的异或和,然后枚举任意两个点,把两个节点到根节点的异或和异或起来即为答案。原因是lca到根节点之间的路径 阅读全文
posted @ 2020-12-22 00:32 尹昱钦 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 前言 就此告别吧水上的列车就快到站开往未来的路上没有人会再回返 说声再见吧就算留恋也不要回头看在那大海的彼端一定有空濛的彼岸 Day -3&-2 晚自习没跟班主任请假就去了机房,虽然是最后两节,可还是好慌…… 还是学了不少的,做了两左偏树的题。 但是依旧倔强的不看板子…… Day -1 晚上终于可以 阅读全文
posted @ 2020-12-06 00:13 尹昱钦 阅读(385) 评论(0) 推荐(0) 编辑
摘要: //这可能是期末考试前的最后一篇题解了趴 传送门 解题思路 让伤害最大值最小,很显然用二分,然后O(nm)跑一遍图,看看能不能到终点即可。 总复杂度:O(nm*log(pmax))。 AC代码 1 #include<iostream> 2 #include<algorithm> 3 #include 阅读全文
posted @ 2020-12-05 23:35 尹昱钦 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 比较难想到用左偏树。 因为管理者的图是个DAG,再加上满意度只与数量与管理者的领导力有关(这样贪心选薪水最低的),所以可以用左偏树合并+不断删最大值来保证总薪水小于总预算。 左偏树结构体里除了平常的东西还要加上总薪水、总人数。 具体做法就是先建树,然后dfs一遍,回溯的时候合并+删 阅读全文
posted @ 2020-12-01 21:53 尹昱钦 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 更正题意:“输出决斗后他们朋友中最强壮的猴子的强壮值”指的是决斗前最强壮的猴子的决斗后的强壮值(根据样例得出) 所以这题就很板子了。 维护一个有合并、删除、单点插入的左偏树即可。 注意: 多组数据的数组初始化处理。 根节点猴子强壮值减半后对其结构体和fa[x]的重新初始化。 AC代 阅读全文
posted @ 2020-11-30 14:27 尹昱钦 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 就是个板子。 注意一下两点: 1.scanf读入int后接着读char会把回车读进去,处理方法: %c前加个空格,即scanf(" %c",&c); 2.i有可能等于j,所以要判断一下,否则第四个点惨痛MLE。 AC代码 1 #include<iostream> 2 #includ 阅读全文
posted @ 2020-11-29 23:56 尹昱钦 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 传送门 左偏树 政治老师告诉我们,要从以下方面思考问题: 是什么 为什么 怎么做 1.是什么:嗯……从字面看,是树(堆),是一个长得向左偏的二叉树(堆)。就长这样: 定义们: 外节点:当且仅当节点 i 的左子树或右子树为空时,节点被称作外节点。 距离:一个点的距离,被定义为它子树中离他最近的外节点到 阅读全文
posted @ 2020-11-29 23:26 尹昱钦 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 用dp[h][i][j]表示处理到第h行,这一行状态是i,上一行状态是j的最大数量。 枚举第几行、这一行的状态、上一行的状态、上上行的状态,判断转移即可。 注意要用滚动数组(只会用到上一行、上上行)。 AC代码 1 #include<iostream> 2 #include<alg 阅读全文
posted @ 2020-11-26 00:19 尹昱钦 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 用dp[i][j][k]表示到了第i行,第i行状态为j,一共放了k个国王的方案数。 枚举行、本层状态、上层状态、国王数,进行转移。 其中用一个函数求出一个数的二进制有几个一(即这一行放了几个国王)。 初始化时要单独第一行。 注意没开longlong只有70pts。 AC代码 1 # 阅读全文
posted @ 2020-11-25 00:19 尹昱钦 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 和上一题相似,用dp[i][j]表示当前状态为i,刚刚放的是第j头奶牛的方案数。 其中i的二进制位表示第k位的奶牛到目前为止是否已经选择。 一开始初始化只有一头奶牛时方案数为1,然后枚举状态、上一个位置的奶牛、这一个位置的奶牛转移过来即可。 AC代码 1 #include<iost 阅读全文
posted @ 2020-11-24 23:49 尹昱钦 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 用一个数i的二进制表示某一位的村庄是否已经去过,dp[i][j]表示当前状态i,这一次去的村庄是j的最短路程。 然后就枚举i、j、k(k表示下一个去的村庄),然后在if判断是否符合条件后,用dp[i][j]更新dp[i|1<<(k-1)][k]。 注意边界的处理。 AC代码 1 # 阅读全文
posted @ 2020-11-24 00:28 尹昱钦 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 用dp[i][j][0/1]表示到第i节课、申请了j次,第i节课是否申请的最小体力和。 然后分别从dp[i-1][j][0]、dp[i-1][j][1],dp[i-1][j-1][0]、dp[i-1][j-1][1]疯狂转移过来。 先跑一边Floyd求最短路。 注意double无法 阅读全文
posted @ 2020-11-24 00:22 尹昱钦 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 异或运算 相同为0,不同为1。 1^1=0,0^1=1,1^0=1,0^0=0 P1469 找筷子 很有趣的一道题。因为空间有限制,所以我们每读入一个数就与ans异或一下,因为相同会变成0,所以剩下的即是答案。 1 #include<iostream> 2 #include<cstdio> 3 us 阅读全文
posted @ 2020-11-22 20:38 尹昱钦 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 身为一名高中生,却还是不知廉耻地做了一遍普及组的题目,体验一把AK的感觉 T1 优秀的拆分 传送门 T1还是一如既往的水。 根据题意,奇数直接-1,偶数就从一个很大的2的幂开始枚举,n比这个数大就输出这个数并且n减去这个数,然后这个数/2。 #include<iostream> using name 阅读全文
posted @ 2020-11-21 00:38 尹昱钦 阅读(2495) 评论(1) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 27 下一页