iOS

僵尸小白

#include <iostream> #include "minecraft.h" TxMinecraft mc; using namespace std; int main() { bool con=mc.ConnectMinecraft("zk","919b005179e840e1bf78fef437b2f298"); if(!con){ cout&lt

牛客练习赛122

目录写在前面ABCDE写在最后 写在前面 比赛地址:https://ac.nowcoder.com/acm/contest/75768 因为 suzt 大神在打所以也来凑一凑热闹。 A 签到。 B 签到。 C 设 (nle m),手玩下发现 (n= 1) 无解,(n=2) 只可以往一个方向跳,(m ge 4) 时所有位置均可遍历到,于是给小范围打个表即可。 D 区间 DP 发现将圆直接断开

「杂题乱刷」CF1934D2

感觉 D2 比 D1 简单 /kx /kx /kx 链接 算法一 发现一个数 (x) 为 (2^k(0 le k)) 时一定无法拆分。 此时直接分讨即可。 算法二 发现一个数 (x) 满足化为二进制下数位和为 (2),可以拆成两个 (2) 的非负整数次幂的数。 此时直接分讨即可。 算法三 为方便读者理解,下文中使用 (f(x)) 表示 (x) 在二进制下的数位和。 分讨一个可拆分的数 (x):

C++ 关系运算符重载

C++ 语言支持各种关系运算符( < 、 > 、 <= 、 >= 、 == 等等),它们可用于比较 C++ 内置的数据类型。 您可以重载任何一个关系运算符,重载后的关系运算符可用于比较类的对象。 结果  

区间问最大值位置

  #include <iostream> #include <cstring> #include <unordered_map> #include <vector> #include <algorithm> using namespace std ; const int N =1e6; #define k1 k<&lt

C++ 输入/输出运算符重载

C++ 能够使用流提取运算符 >> 和流插入运算符 << 来输入和输出内置的数据类型。您可以重载流提取运算符和流插入运算符来操作对象等用户自定义的数据类型。 在这里,有一点很重要,我们需要把运算符重载函数声明为类的友元函数,这样我们就能不用创建对象而直接调用函数。 下面的实例演示了如何重载提取运算符 >> 和插入运算符 << 结果 &nb

st表二分按位与_cf900_E. Iva & Pav

目录题目概述思路想法参考代码做题反思 题目概述 原题参考:E. Iva & Pav 给出长度为n的数组和m次询问,每次询问包括一个左区间l和一个整数k,要求给出最大的右区间的值使得al & al+1 &... & ar >= k 思路想法 其实对二进制的几种运算随意看一下,可以发现:随着长度的增加,按位与的结果是保持单调不增,按位或则是保持单调不减,因此,对于

随笔记录篇——C++iostream库 以及std

这篇文章非原创,来自我学习过程中看到的其他博主发的一些资料,解决了我的疑问,在此进行整理。 C语言的标准输入输出库是stdio.h库,是一个函数库,而不是类库。 其中包含了我们其中所用的scanf pringf都是一些独立的全局函数,因为C语言是不支持类的。 C++的标准输入输出库iostream是一个类库,以类的形式组织,使用该库中的类要先引用命名空间,using namespace std;

YL 模拟赛总结 5

Problem T1 (m) 个人中间必定有 (m-1) 个空位,剩下 (n-m+1) 个位置可以随意放人,则方案数为 (A^{m}_{n-m+1})。 T2 考虑进行 (dp)。 状态:令 (dp_{i,j}) 表示字符串 (S_{i sim j}) 要变成回文串需要添加的最少字符数。 转移: 枚举区间左端点 (l) 和长度 (k),右端点为 (r)。显然需要进行分类讨论: 若 (S_l=S_

AtCoder Beginner Contest 343(小白来了)

A - Wrong Answer 思路: 给你两个数 (A, B 0 ~ 9)输出非A+B(0 ~ 9) 解法: 许多 (A + B) ^ 1等等 Code: #include<iostream> using namespace std; int main() { int A, B; cin >> A >> B; cout <<

Codeforces Round 931 (Div. 2) A-D2

A. Too Min Too Max 贪心、排序。 对数组排序后,显然当下标 (i)、(j)、(k)、(l) 分别选择 (1)、(n)、(2)、(n - 1) 时求得最大值。 时间复杂度:(O(nlogn)) 。 B. Yet Another Coin Problem 枚举、贪心。 价值为 (1) 的硬币最多需要 (2) 个,当需要 (3) 个及以上时,可由价值更高的硬币替代;以此类推,价值为

24-3-2 个人赛

A - Last Train 难度: ⭐⭐⭐⭐ 题目大意 现有n个车站, 每个车站都有6个属性, l, d, k, c, A, B; 从时刻l开始发车, 每隔时间d发一辆, 一共发k辆; 并且火车是从A点前往B点, 所需时间是c; 设F(x)指从车站x的车最晚什么时候出发可以到车站n; 解题思路 因为所有车站的目标都是n, 那么我们可以从车站n开始反向进行最短路dijkstra; 找到从

CF1934题解

题解 首先拜谢波叔呀,一眼看上去没思路,直到看见了四重循环,大彻大悟。 Solution 没什么好说的,暴力四重 题意大意就是给你一个数,在 1,3,6,10,15 中取数,使取出的数等于输入的数,求出至少需要用多少个数。 求数代码: 因为要求最小,所以 $ans$ 要初始化为无穷大。 CODE 谢谢观看,喵。

牛客练习赛122 F 括号匹配 费用流

CF打多了很多题目中的性质都挖掘出来了,也想到了费用流。 很难(dp)因为一组中三个括号留下来一个很难作为状态进行dp。 由于对括号匹配还不熟悉以为是(n^2)的图就没写了,事实上应该是线性的建图。 所以对于(n=2000)这个数据范围网络流是可以过的。 设置源点(S)和汇点(T)。 对于左括号来说显然是和(S)相连,右括号和(T)相连。只需要相邻两个之间连边右括号即可简化建图,或者每次遇到一个左

AtCoder Beginner Contest 343:起航

AtCoder Beginner Contest 343:起航 2024/3/2/22:53 有点儿晚了,简单总结一下。 前4题都很基础,一点点小思维,其中C题 边界又盲目追求刚刚好,WA了一次,总结经验,程序实际设计应该略微大于数据范围。 EFG开始就做不动了,只剩了20多分钟,先通读然后看E题,E题读了半天发现大概是体积交并反推位置,不会。。。看F题,能不能分块呢?可以尝试一下。最后

牛客练习赛122题解A-D

牛客练习赛122 A.黑白配 代码: B.映射 思路: 数组a中的数只能对应一个b中的值,若对应了两个以上b中的值则No 代码: C.马走日 思路: 画图可知,n小于3或者m小于3时特判,n和m都等于3时为8,当n>=3并且m>=3时所有点都可到达 代码: D.圆 思路: 题目求删除一些边的最小代价,可以反过来求选择一些边的最大价值,一些相交的边不能同时存在,那么就是区间dp的问

AtCoder Beginner Contest 343

基本情况 前四题秒了,但是都有不够优雅的地方 F知道是线段树,但是写不出来,极其绝望 C - 343 C - 343 (atcoder.jp) 更简洁的回文判断 MyCode STD D - Diversity of Scores D - Diversity of Scores (atcoder.jp) 不知道map可以erase导致的 MyCode STD F - Second

chatgpt全屏显示油猴脚本分享

今天开通4 但是显示太窄 需要不停拉动横条 不爽 google到一个油猴脚本非常实用  // ==UserScript== // @name ChatGPT CSS fixes // @version 2024-02-11 // @updateURL https://gist.github.com/alexchexes/d2ff0b9137aa3ac9de

函数调用

题目 https://www.luogu.com.cn/problem/P7077 这题给我好搞。不过思路精巧。 (Solution) 首先我们考虑一个比较简单的问题。 称函数1是加法,函数2是乘法,函数3是调用。 首先,要转换思路。原先暴力模拟,考虑函数顺序,(O(Qn)), 必炸。我们考虑统计每个函数对答案的贡献。这样是(O(n))复杂度的。其次,我们在考虑贡献时,也不应该直接修改上去。如果对

shared_ptr, unique_ptr,weak_ptr

在这个示例中,我们创建了一个名为MyClass的类,它有一个构造函数和一个析构函数,以及一个DoSomething方法。然后,在main函数中,我们使用std::make_shared<MyClass>创建了一个shared_ptr,并调用了它的DoSomething方法。接下来,我们使用std::make_unique<MyClass>创建了一个unique_ptr

Solution - 消息传递

Link。 首先我们假设在看本文章的所有人除了 @左乐 都已经使用点分树 A 掉了震波。 然后我们要怎么简单修改 A 掉这个消息传递呢。 震波是维护距离 (leq k) 的点,这里只需要维护 (= k) 的,显然我们可以改掉维护前缀和的那个数据结构(比如树状数组),直接用普通数组 / vector。 跳的时候看看有没有多次算距离,会使常数变大,可以存下来。 把倍增求 lca 换成树剖求 lca!

SP14846 GCJ1C09C - Bribe the Prisoners 题解

非常好区间 dp。 我们发现直接依题做是困难的,因此考虑反着做。 也即,假定起初那 (Q) 个牢房均为空,现在要将给定的 (Q) 的犯人插入其中,求最小代价。 然后我们发现这题和 P1775 很像,相当于每插入一个人,两段不相邻的牢房就被合并到了一起。 接着我们就考虑这玩意怎么做区间 dp。 状态: 令 (dp_{i,j}) 表示区间 ([id_i,id_j])((id_i) 表示第 (i) 个空

Living-Dream 周考总结 第3期

Link,第四场没打。 T1 (100),没挂分。 (operatorname{lcm}(x,y)=dfrac{x}{gcd(x,y)} times y) T2 (50 to 54),反向挂分,乐。 询问前递推预处理即可,(O(n+t))。 T3 (100 to 90),错因:没有特判 NO。 仿照 P1835 的做法,先预处理 (0 sim sqrt{2^{31}}) 范围内的指数,再将区间

Living-Dream 周考总结 第4期

Link。 T1 (100),没挂分。 依题计算即可。 T2 (100),没挂分。 前缀和 + 断环成链。 T3 (100 to 27),错因:思路错误。 考虑到指导总时间具有单调性,上二分答案。 check 时,对于当前答案 (x),计算每位老师能指导的人数之和是否 (ge m)。 对于总时间 (l),我们计算出直到 (l-2) 时刻每位老师能指导的人数之和 (last)。 顺次枚举每位老师

Living-Dream 周考总结 第1期

Link。 T1 依题计算即可,(O(1))。 T2 dfs,(O(n!))。 T3 在线处理每一位同学,并使用插入排序,(O(n^2))。 胡了一个 (O(An))((A) 为值域) 的桶做法但是 WA 了,有心情再补。 总结:因为报名了但没打,所以没有总结。

Living-Dream 周考总结 第2期

Link,第二场没打。 T1 (100),没挂分。 依题计算即可,(O(1))。 T2 (100 to 45),错因:没有特判 + check 写错。 二分 + 模拟即可,(O(t log k))。 T3 (100 to 36),错因:使用字符串拼接被卡常。 直接依题模拟即可,(O(max(L,R)))。 总结: (300 to 181),依托勾史。 以后多注意问题考虑完整、思路清晰

CatOJ C0493C 计数 分讨

对于 (sum |E'|),直接计算是简单的。 对于 (sum |E'|^2),拆下贡献,可以拆成 (sumsum_{i,jin E'}1),设 (U) 为 (i) 和 (j) 两条边连接的点集,转化一下式子即为 (sum_isum_j2^{n-|U|})。对于 (sum |E'|^3) 同理,(U) 为 (i,j,k) 三条边连接的点集,原式即为 (sum_isum_jsum_k2^{n-|U|

<<  <  174  175  176  177  178  179  180  181  182  183  184  >  >>