iOS

CF-1005A Tanya and Stairways

Tanya and Stairways #include <bits/stdc++.h> using namespace std; typedef long long ll; #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); // #define ios ios::sync_with_stdio(false);cin

取石子

Alice 和 Bob 两个好朋友又开始玩取石子了。 游戏开始时,有 NN 堆石子排成一排,然后他们轮流操作(Alice 先手),每次操作时从下面的规则中任选一个: 从某堆石子中取走一个; 合并任意两堆石子。 不能操作的人输。 Alice 想知道,她是否能有必胜策略。 输入格式 第一行输入 T,表示数据组数。 对于每组测试数据,第一行读入 N; 接下来&

B. Longest Divisors Interval

link 需要思考一下 如果这个题能做,那么肯定有一种比较可行的做法。 如果([l,r])是可行的,那么就意味着([1,r-l+1])是可行的 这是显然的,显然后者的每一个数在前者中必然有对应的倍数,所以等效。 这样从1开始找就行了。

C1. Dual (Easy Version)

link 像这种构造题可以先分类讨论一波 比如说全是正数或者全是负数,那么显然的就是可以用前缀和和后缀和来解决。 而如果有正有负呢?可以注意到的是数字非常小,而(2^5=32>20)了,那么我们就可以先随便找到一个正数,把他自加上5次,然后第二个数加上它2次 之后的数加上前面的数两次,这样结果一定是递加的。

CF-1020B Badge

Badge 【题意】: 从一个人徽章上打洞,他会说栽赃下一个人,然后下一个人的徽章被打洞,依次这样下去,直道某个人徽章有两个洞就结束。 【模拟】: 代表3个学生,第一名栽赃给第2个学生,第二名栽赃第3个,第三名栽赃给第2个 老师首先打洞1->2->3->2输出2; 再从第二 名学生2->3->2输出2; 再从第三名学生3->2->3输出3; #includ

Codeforces 890-891的一些题目的反思

和atcoder一起出交互题是吧。 D题回复逆序对个数,对于[L,R-1]和[L,R],如果R是最大值,那么对逆序对个数无影响。这样来确认某个数是不是最大的,然后递归扩展到整个区间 这里看到逆序对,要想到归并排序、分治、递归、区间合并。。。。。 查看代码 // Problem: D. More Wrong // Contest: Codeforces - Codeforces Round 89

容斥原理:能被整除的数

给定一个整数 n 和 m 个不同的质数p1,p2,…,pm。 请你求出 1∼n 中能被 p1,p2,…,pm 中的至少一个数整除的整数有多少个。 输入格式 第一行包含整数 n 和 m。 第二行包含 m 个质数。 输出格式 输出一个整数,表示满足条件的整数的个数。 数据范

CF187D BRT Contract

Problem 泰迪每天都要通过一条路从家到学校,这条路的起点是泰迪家,终点则是学校。 这条路中间还有 (n) 个路口,从第 (i - 1) 个路口走到第 (i) 个路口需要 (d_i) 秒,每个路口都有一个红绿灯。更具体地,绿灯持续时间是 (g) 秒,红灯持续时间是 (r) 秒。每天从第 (0) 秒开始,所有灯都是绿灯,持续 (g) 秒之后变为红灯,再过 (r) 秒变成绿灯,以此类推,并且同一时

扫描线学习笔记

0. 写在前面 扫描线好闪,拜谢扫描线 1. 问题的引入 在一个二维的坐标系上,给出多个矩形,求他们的面积并 2. 问题的分析 假设我们有这么一张图 你要求这三个矩形的面积并,可以考虑容斥原理,但这样会 TLE 但总之,他最终的结果是围成了一个多边形 那你不妨考虑,重新分割这个最终的图形 那这样你就很会求了。 考虑有一条线,从下往上扫描,如果遇到矩形的一条边就分割一次,OI Wiki 给出了

使用markdown插件-mavon-editor报错

报Uncaught TypeError: Object (...) is not a functionUncaught TypeError: Object (...) is not a function,查了一些应该是本地的版本与最新的版本不兼容,因此需要使用固定的版本依赖 解决方法: npm install mavon-editor@2.10.4 -save html: <temp

Flutter系列文章-实战项目

在本篇文章中,我们将通过一个实际的 Flutter 应用来综合运用最近学到的知识,包括保存到数据库、进行 HTTP 请求等。我们将开发一个简单的天气应用,可以根据用户输入的城市名获取该城市的天气信息,并将用户查询的城市列表保存到本地数据库中。 第一步:需求分析和设计 1. 确定项目目标 我们的目标是开发一个天气应用,用户可以在应用中输入城市名,然后获取该城市的天气信息。 2. 设计界面 我们的应用

2023.8.8

P4310 绝世好题 首先可以想到的90pts做法是最长上升子序列dp,然后就考虑一下优化。这个做法要进行的转移过多,我们考虑怎么减少转移次数。由 & 运算我们可以发现,能转移到当前数的 (a[j]) , 必然和当前数 (a[i]) 至少有一个二进制数位上同时为 1。因此我们就可以定义 (bit[i]) 表示到当前数第 (i) 位为 1 的最长子序列长度,定义一个 (Max) ,再枚举当前

记忆化搜索建图方法优化

原代码 O(n2):  772ms   考虑优化: O(nm)   244ms / 13.34MB / 0.69KB原本要连n2条边   但是,如果在中间添加一个虚点,就可以变成2n条边    

POJ 1392 Ouroboros Snake

(POJ) (1392)-(Ouroboros) (Snake) // 这道题和上面那道题几乎一样, 算是变形题把, 这道题要求构造的01字符串就是必须是字典序最小的, // 在上面那道题的注意下建边的顺序即可. 因为是链式前向星法, 应该大边在前。 (Code)

POJ 1780 Code

(POJ) (1780) (Code)(欧拉回路+模拟栈) 一、题目大意 1.提供密码的位数。 2.密码的输入可以一直保持,取后(n)位作为密码。如果密码正确则开锁。 3.设计一种方法使得在输入最少的情况下破译。(即保证每个密码只输入一次) 4.输出输入的数字的序列。 二、题目解析 去密码的前(n-1)位作为状态节点,将(n)位数密码作为边,建造有向图。 显然,每个点的入度和出度都为(10),

2023第七场牛客多校-We Love Strings

I-We Love Strings_2023牛客暑期多校训练营7 题意  做法:根号分治+容斥原理 将字符串分为两类: len<=20直接位运算枚举出可能的所有答案,看是否存在符合的 len>20采用容斥原理,计算出所有长度为 i 的字符串中(假设为n个),1个字符串可以表示的 ( 1个元素的交集 )  ,2个字符串可以表示的( 2个元素的交集 ),......

博弈论:台阶-Nim游戏

现在,有一个 nn 级台阶的楼梯,每级台阶上都有若干个石子,其中第i 级台阶上有 ai 个石子(i≥1)。 两位玩家轮流操作,每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中(不能不拿)。 已经拿到地面上的石子不能再拿,最后无法进行操作的人视为失败。 问如果两人都采用最优策略,先手是否必胜。 输入格式 第一行包含整数n。 第二行包含 n&n

移棋子游戏

给定一个有 N 个节点的有向无环图,图中某些节点上有棋子,两名玩家交替移动棋子。 玩家每一步可将任意一颗棋子沿一条有向边移动到另一个点,无法移动者输掉游戏。 对于给定的图和棋子初始位置,双方都会采取最优的行动,询问先手必胜还是先手必败。 输入格式 第一行,三个整数N,M,K,N 表示图中节点总数,M 表示图中边的条数,K 表示棋子的个数。 接下来&

博弈论:移棋子游戏

给定一个有 N 个节点的有向无环图,图中某些节点上有棋子,两名玩家交替移动棋子。 玩家每一步可将任意一颗棋子沿一条有向边移动到另一个点,无法移动者输掉游戏。 对于给定的图和棋子初始位置,双方都会采取最优的行动,询问先手必胜还是先手必败。 输入格式 第一行,三个整数N,M,K,N 表示图中节点总数,M 表示图中边的条数,K 表示棋子的个数。 接下来&

试除法判定质数

其实质数也就是素数,这题比较简单,注意ai的数据类型为long long,和输入输出格式就欧克了,我就不详细解释了 直接上代码 关于为什么只需要遍历到一个数的平方根,解释如下: 因为如果一个数不是质数就是合数, 那么一定可以由两个自然数相乘得到,就以64为例子,如果8之前就有因子,那么是合数,如果8之前没有因子,那么就是质数,因为任何一个数都不可能分解成两个大于其平方根的数的乘积.肯定只能分解

CF1856C To Become Max

赛时贪心半天没想出来,用二分过掉了。 我们可以二分 (k) 次操作后 (a) 的最大值 (mid)。 二分主要是 check 函数怎么写。 模拟一下样例,或许可以找到规律。如果 (a_i = x),则 (a_{i - 1}) 最多可以加到 (x + 1)。相反,如果想让 (a_i) 的值变为 (x),那么 (a_{i + 1} ge x - 1)。由于 (n) 非常小,所以我们可以 (O(n^2)

2023年8月7日普及组南外集训题解

A 坐车 题目描述 有辆公交车,它可以承载35人,包括一个司机。车子最后一排有4个座位,其他10排都有3个座位。每个上车的人,都会先往左边坐(司机所在的那侧)。现在告诉你,有多少人在车上,绘制车内情况。 输入格式 一个整数 (n) ,表示有多少个人在车上。((1≤n≤34)) 输出格式 输出车内情况,用D表示司机,O表示有人坐,#表示位置上没有人。 具体可以看样例。 样例1 输入 输出 题解

luogu P7352 炉心融解

记 (f_S) 为所有人以当前信息推断出 (S) 这种情况是否合法,(g_S) 表示假如真实情况是 (S),应该有哪些人喊出来了。 每一轮中,通过告诉你的 (k) 条消息可以推断出哪些集合不合法,将其 (f_S) 赋为 (0),然后根据新的 (f_S),有些人可能可以据此喊了,所以根据新的 (f_S) 更新 (g_S)。那本质上真实集合确定,如果某种可能的情况喊的人与真实喊的人不一致,即 (g_S

八皇后问题回溯法

回溯法八皇后问题 测试:

大一下第二学期期中知识复习梳理 之 c++动态内存分配

一、动态内存分配基本概念 1、数组实现顺序表的缺陷:静态内存管理——程序在编译时,根据数组元素类型和个数分配所需内存大小,在程序运行时无法改变。 2、内存空间分布  3、动态内存管理 1)  2)动态内存分配 (1)操作符new 动态分配变量数组(对象数组): 指针变量=new 变量类型[变量表达式]; 指针变量的值为动态分配的数组的首地址;new的返回值是

2023牛客+杭电补题和总结记录(后半)

前半继续写要被编辑器卡飞了,换个档 杭电第六场 (1002.Pair Sum and Perfect Square) 对于每个位置可以求出该位置的数和哪些位置的数能够组成完全平方数,因为原序列是排列,并且完全平方数个数不多,所以预处理的复杂度不高。(也可以在后续统计过程中处理) 处理出点对以后就变成了二维数点问题。我一开始把所有询问拆成两个端点排序,这样复杂度会基于 (2*q)。后来经大佬提点后领

P6665 Forget You

补完番后来做一下这道题。 首先考虑 (n=1) 怎么做。一个很直观的感觉是,如果将一组集合进行首尾配对,即 ((1,a_i),(2,a_i-1),cdots),那么每一对中的两个数地位均等(即在所有方案中的出现次数均等)。证明可以考虑将所有方案进行配对,((p_1,p_2,cdots,p_l)) 对应 ((a_i-p_l+1,cdots,a_i-p_2+1,a_i-p_1+1)) 即可。于是我们只

互联网上怎样保护自己的隐私

学会保护自己隐私 引子 在这样混乱的互联网上,军阀割据的地盘中,你根本身不由己,当你接入互联网或陌生人的那一刻,你的隐私就失控了。拿到你隐私的坏蛋,他们可以偷窥你,可以诈骗你或你身边的人,可以利用你的隐私做出下三滥的事。他们不会可怜你,你得学几招保护自己,保护你重要的人…… 招数方法 线下隐私 骗子在拿到你名片、身份证、学生证、工牌里的真实身份时,是可以通过社工库进一步得到你的更多信息,尤其是名

<<  <  315  316  317  318  319  320  321  322  323  324  325  >  >>