iOS

P7824 「RdOI R3」毒水

题意简述 有 (n) 杯水,其中有一杯有毒。你可以拿不超过 (maxk) 只小白鼠进行实验,你可以喂给小白鼠若干瓶水,若其中有毒水,则小白鼠死亡。但是其中有且仅有一只变异鼠,变异鼠的死亡状态恰好与普通鼠相反(即若其中有毒水则生存,否则死亡)。你需要求出毒水的编号。 (n=1000,maxk=15)。 弱化版:ABC337E Bad Juice 分析一下下界。显然若采用 (k) 只小白鼠,则至多会有

CF316G3 Good Substrings

题意简述 有一个字符串 (s) 和 (n) 条限制,每条限制给出字符串 (t_i) 和两个整数 (l_i,r_i),要求一个字符串要满足在 (t_i) 中的出现次数要在 ([l_i,r_i]) 之间。求 (s) 有多少本质不同的子串满足所有限制。 (|s|,max |t|le 5times10^4,nle 10) 分析 “本质不同的子串”直接考虑 SA,对于一个后缀(左端点)(i),该后缀贡献的“

P8666 [蓝桥杯 2018 省 A] 三体攻击

这份代码开了O2会WA和RE,但不开的话又会因为STL速度太慢而TLE #include <iostream> #include <stdio.h> #include <algorithm> #include <cmath> #include <string> #include <vector> #define For(i

NOI 2010 做题笔记

NOI 2010 Day1 T1 能量采集 观察到 ((0, 0)) 与 ((x, y)) 连线上的整点个数正好是 (gcd(x, y) - 1)(不包括端点),于是总能量损失即为: [begin{aligned}{} & sumlimits_{i = 1} ^ nsumlimits_{j = 1} ^ m (2times gcd(i, j) - 1)

【C++】STL string类例题新思路记录(编写一个程序,告诉用户输入的句子包含多少个元音字母)

题干:编写一个程序,告诉用户输入的句子包含多少个元音字母。  方案一: 1、创建一个普通函数,依次传入5个元音字母对查找字符串进行检测。 2、函数通过依次传入的单个元音字母,循环查找整个字符串最后返回统计值。 上述方案有些缺陷: 1、mian作用域中的代码有些臃肿并且重复性很高,让人看着很不舒服。   改进思路: 1、避免重复性代码,即避免对函数的多次调用,且一次性将元音

AtCoder ABC 263 D 题解

AtCoder ABC 263 D 题解 前言 本蒟蒻的第一篇题解,大佬勿喷 QwQ 传送门们 洛谷传送门 AtCoder 传送门 正文 设有 (x) 使得 (xleq k) 时,令 (f(k)) 为对 (A') 进行运算后 (A'=(A_1,A_2,ldots,A_k)) 的最小和。 同理,对于 (y) 使得 (yleq k) 时,令 (g(k)) 为对 (A'') 进行运算后 (A''=(

chapter3-排序和查找

1.排序 排序就是把一组无序的数据变成有序的过程。对于机试而言,直接使用C++封装好的sort函数就可以了。sort函数内部采用快速排序实现,因此非常高效。使用sort函数,需要引用#include <algorithm>头文件,sort(first_address, last_address, compare)有三个参数,first和last待排序序列的起始地址和结束地址;compa

E. Klever Permutation

题解 假设 a1 a2 a3 ... ak  ak+1 ak+2 ... an是符合要求的数组, 那么我们可以推断出: a(k+1)=a(1)+1; a(k+2)=a(2)-1; ... a(2k+1)=a(k+1)+1; ... 因此我们知晓奇数位的数要比较小,偶数的位置要比较大;又题目说明一定有解,所以我们假定a1=1,a2=n再递推出其余各项。 Code  

信创国产替代需求爆发,八大核心环节龙头梳理

“信创”产业即信息技术应用创新产业,随着近年来的国际形势和国家战略变化,成为战略重点发展的产业。 信创产业的主要目标是实现信息技术领域的自主可控,保障国家信息安全,而其核心手段在于通过在党政部门和八大行业的大规模应用,逐步完成国产化信息技术软硬件底层架构体系和全周期生态体系的构建,最终实现ICT产业的全面国产替代,为中国未来发展奠定坚实的数字基础。   近年来,信创政策密集出台,党政

P1182 数列分段 Section II

原题链接 作为二分答案的入门题非常合适。 很典型的二分答案。但是这题有一个坑点,left的值不能设为0这种确定的值,而是应该设为这个数组的最大值。 这道题警示了我二分答案的一个重要前提:确定合理的二分区间。 题解 首先,判断单调性,对于一个最大值mid,如果能够满足check(),那么mid+1,mid+2,也可以满足。 接下来,确定二分区间,极端情况下,分段区间m=n的话最大值的最小值就是

P9478 [NOI2023] 方格染色题解

题解 对于行操作,列操作和对角线操作,实际上仅仅只是在对若干个矩形求面积并而已,这是裸的扫描线题,套用模板即可,此时注意到对角线操作实际上是 (O(n)) 量级的矩阵面积并,因此复杂度是 (O(nlog q+qlog q)) 的量级,只能获得 95 pts。 显然,面积并具有交换性,我们先做 (O(qlog q)) 的行与列矩阵的面积并,最后再看对角线,如果将对角线拆成 (O(n)) 量级的矩阵

新年欢乐赛题解

cyh 巨佬举办的比赛。 比赛页面 赛后补题 官方题解 赛时没时间写题,赛后补一下。 T1: 默认排名第一,对于每次输入,若输入的成绩更优,则将排名降低。这里更劣的成绩没用,因为默认初始排名第一。 T2: At 上的一道原题。考虑 DP 求解。(dp_{i, 0/1}) 分别表示到第 (i) 张翻和不翻的总情况数。每次判断翻或不翻和上一张是否相同,若是就转移。别忘记每次取模。 T3: 给出一个一眼

Educational Codeforces Round 145 (Rated for Div. 2)C. Sum on Subarrays(构造)

很意思的一道构造题 题意:给一个(n、k),让构造长度为n的数组满足,子数组为整数的个数为k个,负数的为(k-(n+1)* n/2),每个数的范围为([-1000,1000]) 这种构造题可以考虑就是前一段可以一直用一样的、最小的。 我们观察可以发现(k+k-(n+1)* n/2= (n+1)* n/2) 也就是所有子数组的个数,换句话说子数组不能有0。 这样我们很容易考虑用很小的一个负数和一个

copy elision

copy elision是指编译器为了优化,将不需要的copy操作直接省略了。比如函数返回值的copy操作和构造函数的copy操作等。 例子如下 copy elision发生在 a 直接调用值构造函数创建A,省略了copy操作 b 直接调用值构造函数创建A,省略了copy操作 c 直接调用默认构造函数创建A,省略了2次copy操作 d 直接调用默认构造函数创建A,省略了2次copy操作 默认

axios.delete传参,400错误

我在使用axios.delete进行传参的时候,发现会报400错误 后端代码(C#) 前端代码 这样的参数请求会报400错误 后端就一个参数,前端发一个id为什么接受不到呢? 在网上找了半天,终于明白为什么接收不到的原因了 查看axios的源码 在使用put和post的时候,传递的参数是data可以接收,而delete的参数是config 而再深入点开config的源码 会发现里面

Codeforces Round 260 (Div. 1)A. Boredom(dp)

最开始写了一发贪心wa了,然后这种选和不选的组合优化问题,一般是考虑动态规划 (dp[i][0]:)表示第i个数不选的最大值 (dp[i][1]:)表示第i个数选的最大值 考虑转移: (dp[i][0]=max(dp[i-1][1],dp[i-1][0])) (dp[i][1]=dp[i-1][1]+a[i] * i) 需要将每一个数用一个桶统计次数 因为n比较小。 最后答案在(dp[n][0

筛法思想的题目

这道题目比较经典,或者说这种思想比较经典。 这种筛法的思想。 我们正着想对于每一个(n、 n-1、n-2、...、2、1)都分解一遍质因数显然是来不及的时间复杂度达到(O(n sqrt{n})) 我们考虑对于每一个1e6以内的质因数的个数 跑了一下程序是(78498)个 素数定理告诉我们不超过x的素数近似有(frac{x}{lnx})个 对于每一个质因子我们看一下那些数有一个这个质因子,那

线段树维护字符串哈希

[ABC331F] Palindrome Query View Code  

P9525 [JOISC 2022 Day2] 团队竞技 题解

来发一个简单的 (O(n log n)) 做法。 考虑如果没有要求三只海狸每一只都要有特长,那么我们就会贪心的选择 (x_i) 最大的、(y_i) 最大的和 (z_i) 最大的。 考虑如果答案不是这样,那么必然有一只海狸同时满足 (x_i) 最大、(y_i) 最大、(z_i) 最大当中的至少两项,注意到这只海狸不可能存在于答案之中。 我们将这只海狸从序列中删除,那么问题变为了原来的一个子问题,而我

P8066 Fan Groups

考虑先去除图上边权为 (1) 的边然后跑一个 tarjan 缩强联通分量。 现在图上有若干个 DAG,每一个 DAG 只能有一个度数为 (0) 的强联通分量,不然显然无解。 然后这一个 DAG 的构造方案就是找到度数为 (0) 的强联通分量,然后输出其中一个点,剩下的随便你排布。 现在考虑边权为 (1) 的边带来的影响。 我们设 (d_i) 表示 (i) 所在的 DAG 编号,那么一条边 ((x,

gtkmm4 应用程序使用 CSS 样式

目录前言css选择器css文件示例源代码效果 前言 程序样式和代码逻辑分离开 使代码逻辑更可观 css选择器 Cambalache提供了两种 css-classes 相当于css里的类名:class="类名" css-name 相当于css里的标签名:spin div p 啥的 如上我设置了这个按钮控件的类名为testButton 标签名为myButton 它的Xml视图是这样的 cs

c++ OpenCV 读取某个文件夹下的所有图片

方案一:将文件夹中图像遍历到vector中 方案二  

CF1771F Hossam and Range Minimum Query 题解

题目链接:CF 或者 洛谷 比较不错的题,出现奇数次出现的这种问题,比较容易想到一种运算,那就是异或和运算。 如果一个区间上一个数出现偶数次,则它对于异或和的贡献为 (0),那么很显然,我们维护下区间异或和即可判断一个区间上是否存在出现奇数次的数。然后我们注意到 (1 oplus 2 oplus 3=0),也即是说,这种符合题意的也有可能异或和为 (0),这种问题我们只需要使用随机数构造异或哈希

C++Primer

前言 固然,轻薄短小的书籍乍见之下让所有读者心情轻松,但如果舍弃太多应该深入的地方不谈,也难免令人行止失据,进退两难。 …… 作为一个好的学习者,背景不是重点,重要的是,你是否具备正确的学习态度。起步固然可从轻松小品开始,但如果碰上大部头巨著就退避三舍、逃之夭夭,面对任何技术只求快餐速成,学语言却从来不写程序,那就绝对没有成为高手乃至专家的一天。 有些人的学习,自练就一身钢筋铁骨,可以在热带丛林

CF516D Drazil and Morning Exercise 题解

Description 给定一棵 (n) 个点的树,边有边权。 定义 (f_x = max_{i=1}^n text{dist}(x,i))。 (q) 次询问最大的满足 (max_{x in s} f_x - min_{x in s} f_x le l) 的连通块 (s) 包含的点数。 (n le 10^5),(q le 50)。 Solution 这里 (f_u) 显然可以用换根 dp 求出

斯特林的试炼

Reference OI-wiki 第一类Strling数 定义 将 (n) 个互异元素放入 (m) 个轮换(这 (m) 个轮换不分顺序)的方案数称为第一类Strling数,记做 (begin{bmatrix}nnewline mend{bmatrix})。 一个轮换实际上就是一个圆排列,例如 ([1,2,3,4]) 和 ([4,3,2,1])、([3,4,1,2])、([2,3,4,1]) 都本

基础算法笔记

排序   快速排序 归并排序   二分     高精度     前缀和 一维没什么说的了,主要用于求区间的一段和 S[i] = a[1] + a[2] + ... a[i] 求l,r区间和,就是 S[r] - S[l - 1],推理过程: S[r]=a[1]+a[2]+...+a[l-1]+a[l]+...+a[

CF1912K

题意:给定一个长度为 n 的序列,求有多少个子序列满足该子序列内任意相邻 3 个数的和为偶数。 只与奇偶有关,所以可以把状态转化为 01 的。 设 (f[i][x][y]) 表示在前 i 个数中,最后一位为 x,倒数第二位为 y 的方案数。 [f[i][x][y] = f[i - 1][x][y] + w(a[i]) ]$ w(a[i]) $ 为以 a[i] 结尾的方案数。 [w(a[i]) =

ARC171 - sol

感觉难度并不大,但是就是做不起,呜呜呜。 中等题练少了是这样的。 AtCoder Regular Contest 171 - AtCoder A - No Attacking There is a chessboard with (N) rows and (N) columns. Let ((i, j)) denote the square at the (i)-th row from the

Codeforces Round 909 (Div. 3)

题目链接 A. 若n是3的倍数,那么输出第二,因为不管先手如何操作,后手只要跟先手出的相反那么先手就永远不会赢 其他情况,先手都能赢 B. 暴力枚举 C. dp,其实和最大子序列和一样,只是加上奇偶性不能相邻这个限制即可 D. 把式子化简,以2为底的指数形式,发现要让两个相等 需满足2^x/x == 2^y/y 指数是爆炸式增长,比一次函数快得多,发现只有1和2满足相等 其他必须相同才会相等

<<  <  201  202  203  204  205  206  207  208  209  210  211  >  >>