COCI

[COCI2015-2016#2] VUDU 题解

[COCI2015-2016#2] VUDU 题解 题意 给一个长度为 \(N\) 的整数序列 \({a}\),对于其一共 \(\frac{N\times (N+1)}{2}\) 个的非空区间,求有多少个区间的平均数大于等于 \(p\)。 暴力做法 显然,可以直接枚举区间左端点 \(j\) 与区间右 ......
题解 COCI 2015 2016 VUDU

[COCI2012-2013#2] POPUST 题解

[COCI2012-2013#2] POPUST 题解 题意 有 \(N \thinspace (2 \leq N \leq 5 \times 10^5)\) 个物品,每个物品的原价是 \(b_i\) 元。每次选物品时,第一件选出的物品 \(i\) 价格变为 \(a_i\) 元,问选 \(i \th ......
题解 POPUST COCI 2012 2013

P6406 [COCI2014-2015#2] Norma

好像有别的简单做法?但是我是笨蛋,我用线段树。 记 \(f(l, r) = \min\limits_{i = l}^r a_i, g(l, r) = \max\limits_{i = l}^r a_i\)。 把 \(i, j\) 分离,得到: \[\sum_{i = 1}^n\sum_{j = i} ......
P6406 Norma 6406 2014 2015

P6502 [COCI2010-2011#3] ZNANSTVENIK

其实直接模拟就好了。 因为要从第一行开始依次往下删,所以从小到大枚举行,看这行删完是否合法。如果不合法了,就输出答案并结束程序。然后我们就要思考如何判断当前矩阵是否合法。 一个暴力的想法是把下面的每一列字符串都表示出来,看他们之中有没有不同的。但是这样做是 \(\mathcal{O(n^2m)}\) ......
ZNANSTVENIK P6502 6502 2010 2011

P6370 [COCI2006-2007#6] KAMEN 题解

题目 神奇模拟题。最直接的做法就是每个石头暴力向下滚,有 \(60\) 分。但是大样例跑了 \(15s\)。稍微观察一下,会发现很多次循环都是在重复向下走到一格空位上,于是考虑优化:用 set 维护每一列的那些位置有障碍(包括石头),每次直接 lower_bound 跳到下一个位置,会快很多,大样例 ......
题解 P6370 KAMEN 6370 2006

P8315 [COCI2021-2022#4] Šarenlist 题解

P8315 T3 写太慢了,就没看这道/gg。错过简单题+1。 不好直接对边或路径进行考虑,但是发现 \(m\) 非常小,考虑容斥。 即每次钦定集合 \(S\),强制包含在 \(S\) 内的路径不合法,其它的都可以,容斥系数就是 \(-1^{|S|}\)。每次可以暴力覆盖染色,然后用一个并查集进行维 ......
题解 arenlist P8315 8315 2021

题解 P7165 [COCI2020-2021#1] Papričice

传送门。 题意 有一棵树,可以断掉 \(2\) 条边,会形成三个连通块,求三个连通块中大小最大减最小的最小值。 分析 我们观察两条边之间的关系,分类考虑: 两条边成祖孙关系。 两条边没有祖孙关系。 首先,我们肯定我们的大方向,固一动一(说起来为什么想到了数学题),先固定一条边,再在其他边中取得最适合 ......
题解 P7165 Papri 7165 2020

P9032 [COCI2022-2023#1] Neboderi 题解

P9032 考试题。 发现 \(g\) 的值是若干个相同的段,且段数很少,因为每次取 \(\gcd\) 至少会将值域变为原来的一半。所以段数是 \(\mathcal{O}(\log V)\) 的。 然后就可以从小到大枚举左端点,然后枚举 \(g\) 的值,找的是最远的满足 \(\gcd(a_l,\d ......
题解 Neboderi P9032 9032 2022

P5840 [COCI2015] Divljak

题意: Alice 有 \(n\) 个字符串 \({S}_1, {S}_2, \ldots, {S}_n\),Bob 有一个字符串集合 \({T}\),一开始集合是空的。 接下来会发生 \(q\) 个操作,操作有两种形式: 1 P:Bob 往自己的集合里添加了一个字符串 \({P}\)。 2 x:A ......
Divljak P5840 5840 2015 COCI

P9032 [COCI2022-2023#1] Neboderi

LuoguBlog 原题传送门 题意 给定 \(a\) 序列,一个区间的权值为区间 \(\gcd\) 乘上区间和,求长度 \(\ge k\) 的区间的最大权值。 \(1\le n,V\le 10^6\) 题解 区间 \(\gcd\) 相较于区间和更难维护,考虑枚举 \(\gcd\)。 记当前钦定的 ......
Neboderi P9032 9032 2022 2023

【洛谷】P1873 [COCI 2011/2012 #5] EKO / 砍树 (二分)

题目描述见:P1873 思路比较明确qwq因为答案显然满足单调性:当x超过某个数一定是错的(收集的木材大于m),而小于x一定是对的,并且x是从0一直递增。故我们只需二分法找到x。 直接看代码吧qwq精髓是check函数直接模拟题目要求ww #include <iostream> using name ......
P1873 1873 COCI 2011 2012

P6370 [COCI2006-2007#6] KAMEN 题解

原题链接:P6370 思路 题意不多赘述。 首先这道题的 \(60\) 分暴力很好打,直接按题目中的操作做即可,时间复杂度 \(O(nr)\)。 考虑优化暴力。我们会发现很多次石头的起始点为同一列的情况,其实每一次下落的轨迹是差不多的。具体来讲应该是第一次下落的轨迹一定包含了后面每一次的轨迹。所以我 ......
题解 P6370 KAMEN 6370 2006

P7626 [COCI2011-2012#1] MATRIX( 普及/提高− ) 题解

题目传送门 思路: 首先思考暴力,\(O(n^4)\) 的时间复杂度,不行。 那么我们这里就要运用到一点前缀和的知识了。 我们可以用前缀和对两条对角线进行计数。 每个点有两个对角线运算。 差不多是 \(O(n^2)\) 到 \(O(n^3)\)的时间复杂度。 而 \(n\leq400\) 稳过。 C ......
题解 MATRIX P7626 7626 2011

P6491 [COCI2010-2011#6] ABECEDA

前言 思维难度:绿。 代码难度:绿/蓝。 综合:绿/蓝。 带来两种做法。主要是预处理的部分不同,所以就来水一篇。 传送门。 前置芝士。 分析 我们很容易想到通过输入去确定大概的大小。具体地,对于两字符串,若前 $i - 1$ 位相同,那么我们要么通过第 $i$ 位确定大小,要么第 $i$ 位相同去比 ......
ABECEDA P6491 6491 2010 2011

P7775 [COCI2009-2010#2] VUK 题解

链接 这道题卡了我 $40$ 多分钟。 其实就是跑两遍广搜,第一遍算出每个点距离树的最小距离,第二遍开个优先队列,算出逃回窝的途中最大可能的离它最近的树的距离的最小值。 接下来重点讲一下第二遍广搜。 首先,我们要知道,如果我们用 queue ,那么最先到的点不一定是最优的。 所以,我们需要用 pri ......
题解 P7775 7775 2009 2010

[题解] P4435 [COCI2017-2018#2] ​​Garaža

P4435 [COCI2017-2018#2] Garaža 给你一个长度为 \(n\) 的序列 \(a\),单点改,查询区间 \(\gcd\) 不为 1 的子区间个数。 \(n, Q \le 10^5, a_i \le 10^9\)。 先看单次全局查询怎么做。考虑一个分治,每次我们要计算跨过分治中 ......
题解 P4435 4435 2017 2018

P9032 [COCI2022-2023#1] Neboderi

原题链接 最暴力的想法是枚举每一个区间进行计算,这样子的复杂度是 \(O(n^3)\),可以用前缀和以及 ST 表优化到 \(O(n^2\log n)\)。 满分做法: 注:以下的 \(\gcd(l,r)\) 均指 \([l,r]\) 这个区间所有数的 \(\gcd\)。 对于一个长度为 \(V\) ......
Neboderi P9032 9032 2022 2023

P6883 [COCI2016-2017#3] Kroničan

一眼丁真:一道简单的入门的小清新状压好题。 分析 根据题意,每一个杯子只有有水或没水这两种状态。很容易想到用二进制去表示。有水为 $0$,没水为 $1$。 举个例子,有两个杯子所有杯子都没有水,那么状态为 $11$。 设 $dp[i]$ 表示从初始状态到状态 $i$ 所需的最小代价。 另外我们可以想 ......
P6883 Kroni 6883 2016 2017

P6419 [COCI2014-2015#1] Kamp

题目描述 一颗树 nn 个点,n−1n−1 条边,经过每条边都要花费一定的时间,任意两个点都是联通的。 有 KK 个人(分布在 KK 个不同的点)要集中到一个点举行聚会。 聚会结束后需要一辆车从举行聚会的这点出发,把这 KK 个人分别送回去。 请你回答,对于 i=1∼ni=1∼n ,如果在第 ii ......
P6419 6419 2014 2015 COCI

[COCI2021-2022#6] Zemljište

[COCI2021-2022#6] Zemljište 题目描述 有一块地,大小为 $r \times s$,$\rm Matej$ 想买下它。这块地每个 $1\times1$ 的正方形都有不同的价格。 设一片非空子矩阵价格总和为 $m$,则这片子矩阵的权值为 $|m-a|+|m-b|$,您需要找到 ......
Zemlji COCI 2021 2022

【区间 dp】P5189 [COCI2009-2010#5] ZUMA 题解

P5189 容易想到区间 dp,考虑设计状态。 首先如果只有 \(l,r\) 两维的话,是无法转移的。然后发现 \(m\) 是转移的一个必要的条件,可加入 \(m\) 这一维。由于是区间 dp,所以只需考虑向左或向右加珠子,不妨令 \(f_{i,j,k}\) 消除 \([i,j]\) 以及 \(i\ ......
题解 区间 P5189 5189 2009

[COCI2015-2016#4] ENDOR 题解

[COCI2015-2016#4] ENDOR 题解 首先要发现一个很重要的性质,那就是两只变色龙碰撞后回头,等效于两只变色龙继续往前走,其中向右走的颜色不变,而向左走的要改变颜色。 那这样就有一种 \(O(n^2)\) 的做法:对于向右的变色龙,直接贡献答案;对于向左的变色龙,我们按照碰到的先后顺 ......
题解 ENDOR COCI 2015 2016

P8313 [COCI2021-2022#4] Izbori

\(\text{Links}\) 原题传送门 题意 求给定序列中有多少个子区间满足众数出现次数严格大于区间长度的一半。 题解 题目要求满足条件的子区间,一个很直接的想法是每次固定左(右)端点,求有多少个右(左)可以与其匹配对答案造成贡献。 那么考虑一个暴力做法:每次固定左端点,然后往后面一直扫,枚举 ......
Izbori P8313 8313 2021 2022

P7928 [COCI2021-2022#1] Kamenčići

P7928 [COCI2021-2022#1] Kamenčići [P7928 COCI2021-2022#1] Kamenčići - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 目录P7928 [COCI2021-2022#1] Kamenčići题目大意思路code 题目大 ......
P7928 Kamen 7928 2021 2022

P7929 [COCI2021-2022#1] Logičari

P7929 [COCI2021-2022#1] Logičari [P7929 COCI2021-2022#1] Logičari - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 目录P7929 [COCI2021-2022#1] Logičari题目大意思路code 题目大意 给 ......
P7929 7929 2021 2022 COCI

【二分】P7795 [COCI2014-2015#7] PROSJEK 题解

P7795 典。 显然 \(\mathcal{O}(n ^ 2)\) 的时间复杂度无法通过。 使子段平均值最大,考虑二分。 可以二分平均值 \(mid\),然后判断是否有满足条件的子段. 时间复杂度:\(\mathcal{O}(\dfrac{n\log\max\{a_i\}}{\text{eps}} ......
题解 PROSJEK P7795 7795 2014

P6411 [COCI2008-2009#3] MATRICA 题解

水题。 发现根据限制 \(M_{i,j}=M_{j,i}\) 可以知道除了主对角线上的点,其他的点都是成对出现的。也就是说如果有一条要求的 \(a_i\) 为奇数,那么至少有一个 \(c_i\) 在主对角线上。 记 \(S=\sum\limits_{i=1}^{k} (a_i\equiv 1\pmo ......
题解 MATRICA P6411 6411 2008

洛谷P8074 [COCI2009-2010#7] SVEMIR 题解

P8074 SVEMIR \(Solution\) : 这道题目乍一看感觉好难... 因为有绿色的加持,再加上一进题目就看见了头疼的三维坐标,不知道的还以为需要用到什么非常高大上的知识来解决这道题,其实只需要用到最小生成树就行了。 不会最小生成树的请出门左转:P3366 【模板】最小生成树 然后来仔 ......
题解 SVEMIR P8074 8074 2009

【笔记】P6419 [COCI2014-2015#1] Kamp 答辩做法

模拟赛 T3,用非常答辩的做法过掉了。5k 代码写完后竟只调了10分钟 首先考虑指定出发点如何算答案。 用一眼看出法,就是把出发点也定为必经点后,\(必经点连通距离\times 2\ -\ 出发点到某一必经点的最大距离\)。这个想法可以由 P9304 的思路得到。再有,要求树上所有点的答案,多半是换 ......
做法 笔记 P6419 6419 2014

[COCI2016-2017#4] Osmosmjerka 题解

[COCI2016-2017#4] Osmosmjerka 题解 我们发现对于每个点,只有八个方向,也就是说,最终能得到的字符串只会有 \(8nm\) 个,那我们可以考虑把这些字符串的哈希值求出来,相同的哈希值代表选到相同字符串的一种可能,直接统计即可。 现在的问题就在于,怎么快速地求出这 \(8n ......
题解 Osmosmjerka COCI 2016 2017
共59篇  :1/2页 首页上一页1下一页尾页