随笔分类 -  NOIP、CSP普及组

摘要:传送门 传送门 判断节点u的子树是否是对称二叉树的方法: 判断hash1[l[u]]是否等于hash2[r[u]]。 其中hash1中存的是按照根左右的顺序的哈希值,hash2存的是按照根右左顺序的哈希值。 当两个hash值相等时,即为对称二叉树。 单哈希和双哈希貌似都不太稳定,而用自然溢出即可AC 阅读全文
posted @ 2021-10-31 10:50 尹昱钦 阅读(239) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 设dp[i]表示在第i秒发车时前面的人一共等候了多少分钟。 朴素方程就是枚举 j=0(im) dp[i]=min(dp[i],dp[j]+i×(cnt[i]cnt[j])(a[i]a[j])) 其中 cnt[i] 为前 i 秒的人数 阅读全文
posted @ 2021-09-11 20:28 尹昱钦 阅读(184) 评论(0) 推荐(0) 编辑
摘要:传送门 第一年noip的考试题哇,满满的回忆 当年就因为这个题输出-1骗了5分拿了普及一等 解题思路 先二分答案,很显然答案满足单调性。 然后就是一个从限定范围转移过来的线性dp,用单调队列维护一下即可。 判断-1可以根据所有的正数加起来是否大于等于k。 细节还是很多的: dp数组初始化为一个很小的 阅读全文
posted @ 2021-08-28 19:22 尹昱钦 阅读(192) 评论(0) 推荐(0) 编辑
摘要:##传送门 ##解题思路 比较巧的一道题。 把yx=zy化简一下得x+z=2y,这要求x和z一定要同为奇数或偶数。 所以很明显我们首先要对他们分类: 按照奇数偶数点 按照颜色 这样就化成了若干个集合,而我们需要快速求出每个集合对答案的贡献。 把数学式子列一下: \(\sum_{i=1}^ 阅读全文
posted @ 2021-07-13 17:33 尹昱钦 阅读(261) 评论(1) 推荐(1) 编辑
摘要:身为一名高中生,却还是不知廉耻地做了一遍普及组的题目,体验一把AK的感觉 T1 优秀的拆分 传送门 T1还是一如既往的水。 根据题意,奇数直接-1,偶数就从一个很大的2的幂开始枚举,n比这个数大就输出这个数并且n减去这个数,然后这个数/2。 #include<iostream> using name 阅读全文
posted @ 2020-11-21 00:38 尹昱钦 阅读(2516) 评论(1) 推荐(0) 编辑
摘要:传送门 解题思路 首先想暴力做法: 每一次比赛前都sort一遍,然后两两比较,总复杂度为O(R*(n+2n*log(2n))),最大约为1.5*10^8,而且会跑满,所以需要优化。 怎么优化呢? 我们发现这样一条性质: 假设排好序的序列为1,2,3,4(1>2>3>4)。这时进行比赛(1和2,3和4 阅读全文
posted @ 2019-12-27 23:11 尹昱钦 阅读(204) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 很容易想到用最短路来解决这一道问题(题解法),因为两个点之间可以互相无限走,所以如果到某个点的最短路是x,那么x+2,x+4也一定能够达到。 但是如何保证这是正确的呢?比如说到某个点的最短路是x,为什么不可能走一下弯路,是某一条路径的长度是x+1或者x+3或者x+5呢? 所以就用到 阅读全文
posted @ 2019-12-06 21:10 尹昱钦 阅读(932) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 本题首先要明白,在每一天时,最优策略是先进行操作2(卖),再进行操作1(买),才能是利益最大化。 本题很显然当只有两天时,是一个完全背包,就是把当日价钱当做体积,把明日价格和今日价格的差作为价值,跑一边完全背包即可。时间复杂度O(TNM) 然后我们考虑满分做法——我们用dp[j]表 阅读全文
posted @ 2019-12-04 00:21 尹昱钦 阅读(1081) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 先把所有的数据读下来。 对于地铁,答案直接加,然后把编号放入一个数组a内。 对于公交车,从前往后枚举a数组,然后找到出现最早的且符合价钱大于等于公交车的价钱,然后把这个数删除(变为0)。 然后再考虑有效期是45分钟,为了优化时间,我们可以每一次把数组看做一个队列,当a[first] 阅读全文
posted @ 2019-12-01 20:36 尹昱钦 阅读(1367) 评论(0) 推荐(1) 编辑
摘要:传送门 洛谷改域名了QAQ 解题思路 没什么好说的,一道红题,本不想发这篇博客 ,但还是尊重一下CCF吧QAQ,怎么说也是第一年CSP呢! 用getchar一个个读入、判断、累加,最后输出即可。 不过要注意getchar是包含在cstdio库里的。 AC代码 1 #include<iostream> 阅读全文
posted @ 2019-12-01 12:15 尹昱钦 阅读(463) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 第一种: 对于选i家,很显然,a值前i-1家的一定会选,所以只需要考虑最后一家的选法。要么是选择a值第i大的(就不管s了),要么选择剩下的中s最大的。 我们把每一家的情况(s和a)存入几个结构体中,按照a的值从大到小排序,再用sum求出a的前缀和,用maxs[i]表示前i家中最大的 阅读全文
posted @ 2019-10-29 23:06 尹昱钦 阅读(330) 评论(0) 推荐(0) 编辑
摘要:一道水题,但看到好久没有发博客了,再一看是一道noip普及组t4,就做了。 题目链接 https://www.luogu.org/problemnew/show/P1049 解题思路 一道裸的01背包,注意价值和重量是一个东西,且最后输出剩余的体积。 随随便便二维就AC了,懒得写一维。 AC代码 / 阅读全文
posted @ 2019-07-21 12:44 尹昱钦 阅读(416) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://www.luogu.org/problemnew/show/P1030 模板题 先讲一下二叉树的遍历 二叉树的遍历 分类 性质 求法 分为三类: 我们可知: **序遍历实际上是指根节点的位置 无论哪种遍历顺序,左子树都在右子树的前面 在前序遍历中,第一个点是根节点 在后序遍 阅读全文
posted @ 2019-05-01 15:56 尹昱钦 阅读(990) 评论(0) 推荐(1) 编辑
摘要:题目链接 https://www.luogu.org/problemnew/show/P1045 题目大意 本题目的主要意思就是给定一个p,求2p-1的位数和后500位数。 解题思路 首先看一下数据范围,我们不难发现此题必须要用高精度来做。但是每一次高精度乘法的复杂度是o(n)的(n为数字的位数), 阅读全文
posted @ 2019-03-03 01:42 尹昱钦 阅读(744) 评论(3) 推荐(2) 编辑

点击右上角即可分享
微信分享提示