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)) 量级的矩阵
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
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
CF1771F Hossam and Range Minimum Query 题解
题目链接:CF 或者 洛谷 比较不错的题,出现奇数次出现的这种问题,比较容易想到一种运算,那就是异或和运算。 如果一个区间上一个数出现偶数次,则它对于异或和的贡献为 (0),那么很显然,我们维护下区间异或和即可判断一个区间上是否存在出现奇数次的数。然后我们注意到 (1 oplus 2 oplus 3=0),也即是说,这种符合题意的也有可能异或和为 (0),这种问题我们只需要使用随机数构造异或哈希
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 求出
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满足相等 其他必须相同才会相等