iOS

AtCoder Beginner Contest 341(很菜的小白一枚)

解法不一,请谅解. (希望可以为你带来思路和解法) (我是小白勿喷)   ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); 可以快5倍 scanf printf 快10倍     A - Print 341(签到题) 思路: 给你一个整数N 有N个0和N + 1个1组成 0 1 交替输出1 

ABC283Ex Popcount Sum 题解

Problem 记 (text{popcount}(n)) 表示 (n) 在二进制表示中 (1) 的数量。 给定 (n, m, r),请求出 (sumlimits_{i = 1}^{n} [ibmod m = r]timestext{popcount}(i))。 多组数据,(1le T le 10^5, 1le m le n le 10^9, 0le r < m)。 时空限制:4s, 1GB

九.流

内容参考: C++文件读写详解(ofstream,ifstream,fstream)_c++ 文件读写-CSDN博客 一. 概述 分类: 在程序设计中,用于输入/输出的流是必不可少的。C++中,依照用途不同,流可以被划分位三种: 标准IO流:内存与标准输入、输出设备间的通信,一般是控制台。 文件IO流:内存与外部文件之间的通信。 字符串IO流:内存变量与字符串流的字符串数组之间的消息传递。

寒假2024/2/17

想开学了 强连通分量模板 uva297 题意: 给四分图,32 x 32,图是递归形式给出的,要求求出两个四分图合并后的新四分图的黑色块数。 思路: 起初我没弄懂给的样例448 640那些数字是怎么来的,后来才发现题目给的一块是好几个色素块(我是本币) 弄懂题意我们就可以想思路了,起初我看题目引导我们建树,我开始建立四叉树,但是越写越别扭,又要建树,又要合并。 所以我换了一种思路:直接填图,填两

洛谷 [DTCPC2024] mex,min,max 题解

Description 给你一个数列 ({a_n}) 和正整数 (k),求有几组 ([l,r]) 满足 (text{mex}(l,r)+min(l,r)+kgeqmax(l,r))。 Solution 来一发不用脑子的做法。 Part I 观察到一个性质:对于一个区间,(text{mex}=0) 与 (min=0) 至少成立一个。证明显然。 记 (A) 为 (text{mex}+kgeqmax)

CF1540E Tasty Dishes

Description 初始有 (n) 个数 (a_i),以及若干条有向边 ((u_i,v_i)),保证 (u_i<v_i)。 一轮操作会形如下面两个过程: 首先 (forall i,a_i:= max(a_i,ia_i))。 然后 (forall i,a'_i:= a_i+sumlimits_{(i,j)in E}max(a_j,0)),最后 (forall i,a_i:= a'_i)。

若依微服务(二)了解若依的结构

上图是若依微服务官网提供的架构图。此图各个节点非常全面。 但是目前我们直接拿到源码运行后,运行起来的最小结构如下:                         再看看若依后台源码结构 com.ruoyi ├── ruoyi-ui

动态规划(四)——区间dp

 区间dp: 就是对于区间的一种动态规划,对于某个区间,它的合并方式可能有很多种,我们需要去枚举所有的方式,通常是去枚举区间的分割点,找到最优的方式(一般是找最少消耗)。 通常都是先枚举区间长度,区间长度为1就不用合并,所以从2开始枚举,然后枚举左端点,那么右端点就为左端点加区间长度-1,再枚举分割点 k,最后计算不同分割点 k 的情况下,合并区间的消耗,dp[i][j]选择其中的最小

C++——数据类型笔记

  在C++编程中,了解各类数据类型也是至关重要的。下面我会总结一下C++中的数据类型,包括基本类型,符合类型和自定义类型。方便自己整理和理解。 1,基本类型   C++中的基本类型是构建其他数据类型的基础,常见的基础类型包括整型,浮点型,字符型和布尔型: 整型:用于表示整数,如 int、short、long 等。 浮点型:用于表示带小数部分的数值,如 float、double 等。 字符型:用

牛客2

1.Tokitsukaze and Eliminate (hard)(easy难度可以通过暴力来进行,但是hard添加了颜色,我们需要从右往左找到最靠左的某一颜色的最后一个,那么我们可以先用map存图,存下当前剩下几种颜色,再用set一遍一遍重复清点颜色数量,一旦和map中颜色相同就消除一次) 2.Tokitsukaze and Short Path (minus)(pius和minus其实

CF1365G Secure Password 题解

Description 本题是交互题。 有一个固定的数组 (A),同时通过数组 (A) 构造出数组 (P),具体来讲,(P_i) 是 (A) 中除 (A_i) 外的所有元素的按位或。 你需要在最多 (13) 次询问中得到最后的 (P) 数组。 (2leq nleq 1000)。 Solution 首先有一个 (2log n) 的是注意到对于任意两个不同的数 (i,j),则必有至少一位满足 (i)

Poj 3134 Power Calculus(IDA*)

3134 -- Power Calculus (poj.org) 相当于是问1经过多少次能变成n,val[pos]<<(depth-now)为估计函数,如果最快都不能到n,就return false

洛谷P6138 [IOI2012] 骑马比武竞赛

洛谷传送门 分析 首先可以将骑士比赛这件事视为将一段区间缩为一个点。那么最后剩下的一段区间中每个点一定是有一个区间浓缩而来。展开这个区间,展开后的区间中的每个点也是由一个区间浓缩而来。这样逐步展开,会得到原本的有 (n) 个元素的数组。注意,虽然迟到的还没有加入,但是各区间的包含情况是不变的。所以我们将区间的包含情况建成一棵树,且称为区间树。 接下来我们考虑一个骑士什么时候会输。显然,将这个骑士代

CF1209A Paint the Numbers题解

【问题分析】 方法一:排序后从小到大排查,因为同色的数必须要是此色中最小数的倍数,又因为小的数不可能是大的数的倍数,所以从小开始算,把后面它的倍数都标记掉。记颜色的数量。 方法二:因为数的最大小于等于 $100$ ,所以可以用桶排来写,把所有数分别装入相应的桶中后,从桶 $1$ 开始到桶 $100$ 。如果桶内有数,把它的倍数的桶中的数全部清空。记颜色的数量。 【设计程序】 方法一: 方法二:

CF1363A Odd Selection题解

【问题分析】 因为要求和是奇数,所以可以想到想到以下定律: $1+0equiv1(bmod2)$ $1+1equiv0(bmod2)$ $0+0equiv0(bmod2)$ 所以不管什么数加上偶数,它的奇偶性都不会改变。 因此我们发现偶数只有凑数量的作用,只有奇数可以对结果的奇偶性产生影响。 同时由上面的规律还可得奇数必须由奇数个奇数和任意个偶数组成,所以我们就先统计出可使用奇数的个数(因为是

CF1221A 2048 Game题解

【问题分析】 本题中只能相加,所以大于2048的数都没用,这使得本题有用的数据最大为2048, 所以可用桶排也是理所当然啦!用桶把小于等于2048的数都装进桶中从桶1开始把可以相加的数都进上去,直到1024,因为1024是相加小于等于2048中的最大数。 【设计程序】 【代码调试】 测试样例 自测数据(边界值,特殊值) 自测: 2 11 1024 512 256 128 64 32

CF1472C Long Jumps题解

【题目分析】 本题有两个方法, 方法一:每一个位置可得的分分别求出,打擂找出最大(可得部分分) 方法二:从后往前求可得的分数,以避免一些不必要的重复。 【设计程序】 方法一: 方法二: 【调试代码】 测试样例 自测数据(特殊值,边界值) 数据: 4 5 0 0 0 0 0 3 3 2 1 1 1000 5 1 1 1 1 1

CF1196B Odd Sum Segments题解

【问题分析】 本题考了奇数。 由此想到以下定律: 奇数+偶数=奇数; 奇数+奇数=偶数; 偶数+偶数=偶数; 所以偶数可以忽略不计,只有奇数可以对结果产生影响, 所以我们只要注意奇数即可。 经过思考可得奇数的个数至少为 $k$ 个且比 $k$ 多的个数为偶数,此时多出的奇数可组成偶数,对结果不产生影响。 【设计程序】 【代码调试】 测试样例 自测数据(边界值,特殊值) 自测: 输入:

P2036 [COCI2008-2009#2] PERKET题解

【问题分析】 分析题目可得此问题为01背包问题 因此题数据较小 所以可用枚举每一样物品选或不选的方法来写 【设计程序】 【调试代码】 测试样例, 自测数据(边界值或特殊值)(因本题中边界值已给出, 所以不用测边界值) 自测1: 输入: 2 2 2 2 2 输出: 0 去吃饭咯!!!!! 完结撒花!!

P1162 填涂颜色题解

【问题分析】 分析题目可得此问题为连通块问题 因此题枚举被包围的‘0’较难 所以可用枚举每一个不被包围的‘0’ 【设计程序】 【调试代码】 1.测试样例, 2.自测数据(边界值或特殊值)(搜索一般测试样例就行了) 完结撒花!!

winter week3 day1

2024牛客寒假算法基础集训营2 ATokitsukaze and Bracelet View Code   B Tokitsukaze and Cats 思路:枚举,看猫的4个方向有多少没有围栏 View Code   CTokitsukaze and Min-Max XOR 思路:  DTokitsukaze and Slash Draw

SMU Winter 2024 Round #3 (Div.2)

1.New game(是一个拓扑排序板子稍微变形,但是循环加优先队列也可以做) 板子 循环做法 2.Kwords Find Kth Element(现将每个序列排序,再二分为mid,查询小于等于mid的数字数量sum,如果sum大于等于k就调低上限,否则调升)  

日期差值(上海交通大学复试上机题)心得

描述 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入描述: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出描述: 每组数据输出一行,即日期差值 示例1 输入: 输出: 思路 对于月内,使用绝对值+1方法 对于年内,使用判断完闰月之后,小日子向后数,大日子向前数,中间月份日子直接加。 对于年间,先判断中间年份的闰年与否,加

Cisco Secure Client 5.1.2.42 (macOS, Linux, Windows & iOS, Andrord) - AnyConnect 远程访问客户端

Cisco Secure Client 5.1.2.42 (macOS, Linux, Windows & iOS, Andrord) - AnyConnect 远程访问客户端 思科安全客户端(包括 AnyConnect)06-Feb-2024 请访问原文链接:Cisco Secure Client 5.1.2.42 (macOS, Linux, Windows & iOS, A

树状DP心得

说一下近日所学的主要两种题型,一个是分叉情况问题,一种是树上背包问题。 分叉情况问题 具体的题可以参考小胖守皇宫和三色二叉树。 点击查看代码 点击查看代码 不难发现这两个代码的共同点,作为dp,f[i][j]的j总是表示其中可能对结果造成影响的情况分支。因此这种问题的关键除了状态转移方程外,就是去确定可能并可行的分支。其中的关键点就是要找到会对结果造成影响的分支并使分支尽可能的少,例如

2024 寒假做题总结

P2146 [NOI2015] 软件包管理器 思路分析 树链剖分板子,每次安装时,将 (1) 到 (x) 的链变为 (1),卸载时,将 (x) 的子树变为 (0)。 代码 P2486 [SDOI2011] 思路分析 很好的树链剖分题,在线段树中记录区间最左端颜色和最右端颜色,合并即可。 注意,链与链之间的查询也需要判断合并中间的颜色是否相同。 代码

DP总结复习回顾

参考了Peppa_Even_Pig相关文章 什么是DP呢  动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。 动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到

CF1929E 题解

题意: 给定一棵 (n) 个节点数和 (k) 条路径 ((a_i, b_i)),求至少将多少条边染色,使得给定路径都至少有一条染色的边。 (n le 10^5, k le 20)。 思路: 好题。 显然状压 (dp),(dp[S]) 表示至少染多少条边使得 (S) 中的路径都满足条件。正常思路是枚举子集转移,考虑 (T sub S) 能否有一条边同时经过 (T) 中所有路径,但是这样是 (O(3^

整数划分 题解

题目描述 如何把一个正整数N(N长度<20)划分为M(M>1)个部分,使这M个部分的乘积最大。N、M从键盘输入,输出最大值及一种划分方式。 输入格式 第一行一个正整数T(T<=10000),表示有T组数据。 接下来T行每行两个正整数N,M。 输出格式 对于每组数据 第一行输出最大值。 第二行输出划分方案,将N按顺序分成M个数输出,两个数之间用空格格开。 样例 样例输入 1 199

牛客小白月赛87(A-F)

A题 题意: 给定一个长度为n的升序序列a,Alice和Bob 轮流操作,每次取走序列中的一个数,直到所有的数都被拿完,游戏结束。若游戏结束时,如果Alice拿到的数的总数严格大于Bob所拿到的数的总数,则Alice获胜,否则Bob 获胜。 思路: Alice每一次都拿最大的数,直到游戏结束。 当序列长度为奇数,Alice比Bob多拿了一个数,因此,一定是Alice胜利。 当序列长度为偶数时,由于

<<  <  194  195  196  197  198  199  200  201  202  203  204  >  >>