02 2023 档案
发表于 2023-02-25 14:45阅读:34评论:0推荐:0
摘要:看下面的代码就好了 struct cmp{ bool operator() (const pair<int,int>& a,const pair<int,int> &b)const{ int lena=a.second-a.first+1; int lenb=b.second-b.first+1;
阅读全文 »
发表于 2023-02-25 14:38阅读:32评论:0推荐:0
摘要:构造题单 A 题目链接 这个题目的切入点很不好找,首先我们可以假设我们已经构造出来了t字符串,并且它的不同字符的个数是cnt。那么我们可以知道 。 那么根据题目的意思是不是我们需要s串和t串相匹配的字符尽可能地多。假设at['a']表示是‘a'
阅读全文 »
发表于 2023-02-20 11:17阅读:34评论:0推荐:0
摘要:#树状数组介绍 先将区分树状数组和线段树的操作: 1.单点修改 2.区间前缀和查询(不可以查询最大值和最小值). 首先我们需要知道树状数组可以维护一些什么值,树状数组主要维护的值就是区间的前缀和。因此普通的树状数组需要满足结合律和可差分的性质。比如乘法、加法、异或。 然后就是树状数组是怎么把区间差分
阅读全文 »
发表于 2023-02-17 21:47阅读:127评论:0推荐:1
摘要:题目链接 A 这个题目其实乍一看还比较麻烦,其实很简单。其实像这种题目我们只需要构造出来一个最基本的需要操作的情况,然后可以往这种操作最多可以进行多少次这个方向来思考问题。 很显然这个遇到那种需要操作的序列最多操作一次。 // Problem: A. Two Towers // Contest: C
阅读全文 »
发表于 2023-02-16 16:41阅读:78评论:0推荐:2
摘要:题目链接 A 核心思路 这个过程还是有点绕的,但是想清楚了很简单。首先把那m+1捆在一起买,然后看还剩下多少。乘上a和b的最小值就好了。 // Problem: A. Yet Another Promotion // Contest: Codeforces - Codeforces Round #8
阅读全文 »
发表于 2023-02-07 23:45阅读:76评论:0推荐:0
摘要:题目链接 核心思路 不要傻乎乎的模拟先观察性质。(2, 3) (4,5) (6,7) (8,9). 我们可以发现a的模4都是大于1的,b的都是小于。发现这个性质之后就可以写代码了。 // Problem: A1. Non-alternating Deck (easy version) /
阅读全文 »
发表于 2023-02-05 19:02阅读:38评论:0推荐:0
摘要:[USACO09NOV]Lights G 题目背景 English Edition 题目描述 给出一张 个点 条边的无向图,每个点的初始状态都为 。 你可以操作任意一个点,操作结束后该点以及所有与该点相邻的点的状态都会改变,由 变成 或由 变成 。
阅读全文 »
发表于 2023-02-03 16:55阅读:20评论:0推荐:0
摘要:题目链接 A 核心思路 我们看这个数据范围肯定很自然的想到了位运算,题目是要我们找到最小的y。首先我们需要了解的就是与运算和异或运算的实质。 与运算:一个数与上一个数结果肯定是会让这个数变小。 异或运算:相当于不进位的加法。 首先一个性质很强的就是我们的与运算,我们知道必须从x的末尾的1代表的那个数
阅读全文 »
发表于 2023-02-02 18:57阅读:80评论:0推荐:0
摘要:A-D
阅读全文 »