自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CCSU_GCR的博客

acm小学生

  • 博客(7)
  • 收藏
  • 关注

原创 西安邮电大学第五届ACM-ICPC校赛(同步赛)A、B、E、H

比赛链接A - 拯救咕咕咕之史莱姆思路:害,这题意理解岔了,在写代码之前一直在推第i天的伤害,也没想错,但是想多了,怪不得他们A的这么快!说一说咋想的吧。首先,每一天的伤害都是由小洞和大洞一起提供的,不论大小都会减少史莱姆3点HP,所以我们需要把每一天有多少个大洞和小洞求出来也可以得到第i天的伤害了,最后弄一个前缀和就可以 O(1) 求出前 i 天的伤害。看一下推导图,从第五天开始当天的大洞的个数等于 前一天的大洞个数 + 三天前刚刚出现的小洞个数当天的小洞个数等于 前一天的小洞个数 - 三天

2020-05-23 23:29:31 465

原创 NC14247 - Xorto (前缀异或)

题目链接思路:两个连续区间的异或和为0,看到区间嘛,就很容易想到前缀和处理,这个题目也差不多,前缀异或嘛,看着 n 为 1000,就直接暴力找这两个区间呗。枚举分割点,分割点之前的所有前缀异或和相同的都累加起来,然后枚举分割点之后的疑惑和,如果有相等的(疑惑和为0其实就是相等的意思吧)那么就加上之前累加的值,这就凑成一对了,然后一直搞就出来答案了,ans记得开long long#include <bits/stdc++.h>using namespace std;int pre[10

2020-05-09 17:33:21 181

原创 NC50940 - Running Median(优先队列)

题目链接题意:给你一个数字序列,让你遍历每到奇数项的时候就输出一下前面项的中位数。输入输入也多了一些不必要的东西,称它为仪式感吧思路:很容易想到时候每遍历一个数字就对前面的 i 项进行一次排序,这样我就可以直接输出 a[i/2+1] 岂不是美滋滋, O(1000∗n2(logn)2O(1000*n^2(logn)^2O(1000∗n2(logn)2 , 所以不行。我们现在需要维护的是前 i 项的中位数,那么中位数有什么特点,比前面的树都大,比后面的数都小(废话)。所以我们在处理的时候让较大的放在一边,

2020-05-09 15:30:38 185

原创 NC13611 - 树

题目链接思路:一棵树,从一个点到另一个点只有一条路,这样经过的点就不会存在于其他路径上,所以这个题目其实就是让我们求,n个点,分成 i(1~n)份,每一份可以从k种染料中选一个进行染色,问有多少种方案。能想到是数论题就已经成功一半了。先看可以有多少种分法:分成两份就需要砍一个边,三份两个边,n个点就有n-1条边,砍成i份就需要砍 i-1 个边,三个点分成两份,有多少种分法?1为根节点: 12 3; 13 2 吧,这个公式应该就呼之欲出了:n个点分成i份有多少种分法:Cn−1x−1C_{n-1}^{x

2020-05-08 19:04:42 144

原创 NC13249 - 黑白树

题目链接题意:n个节点的树,每个节点都有一个向上染色的能力k,k为1就给自己染色,k为2就可以给一个父节点染色以此类推,问选最少几个节点可以把本来是白色的树给染黑。思路:之前在CF上做的一个题目的简单版本,可以先看一下这个题目,用的是一个思路解题,这个思路我称之为“借刀杀人”。很容易想到的就是贪心做法,易知叶子结点没有人给他染色,所以他只能自己给自己染,然后染过色的节点我们就用一个vis数组标记一下,就不用再染色了,一直往上走找没有染过色的节点。这个思路有一点点小问题,就是假如一个节点他的子节点了,

2020-05-08 18:35:59 230

原创 Codeforces Round #447 (Div. 2) A、B

A.QAQ题意:求字符串中为“QAQ”的子序列个数思路:由于n不大,暴力就找到A的位置,再暴力找这个A????Q的个数,再暴力找这个A????Q的个数,乘起来就是这个A所贡献的子序列的个数,一直找完所有的A就????。#include <bits/stdc++.h>using namespace std;string t, s;int Left(int pos) { int sum =...

2020-05-04 22:47:37 131

原创 NC50528 - 滑动窗口(单调队列)

题目链接思路:在区间滑动的时候,每次会有一个新的数进来和一个旧的数出去。需要用一个合适的数据结构来更新这样的状态。如果出去的数是当前的最大值或者最小值,要可以很快找到下一个代替的数;如果进来的数可以成为新的最大的数或者最小的数,或者都不是那又该怎样存储这个数?单调队列 ,它来了;就从找区间最小值来说:一个新的数加入的时候,从队列的尾部开始比较,如果新加入的数 ≤ 尾部的数, 尾部.pop...

2020-05-03 17:56:59 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除