前缀abc 089 lt

设计模式<c++> (3)观察者模式

/** * Observer Design Pattern * * Intent: Lets you define a subscription mechanism to notify multiple objects * about any events that happen to the ob ......
模式 观察者 设计模式 lt gt

设计模式<c++> (2)单例模式

#include <iostream> #include <thread> #include <mutex> class Singleton { private: static Singleton* pinstance_; static std::mutex mutex_; protected: S ......
模式 设计模式 lt gt

Atcoder ABC 333 F - Bomb Game 2

题目大意(采用0#语言):有n个人,每个人每次要么被“炸掉”,要么就被移到最后面去,概率都是1/2,求最后只剩下初始时排名为第i的人的概率。 这道题跟人数有关,而且跟位置有关。 我们定义dp[i]表示一共有i个人,第i个为最后一位留下来时的概率。 (不想写公式) 定义j从0到i - 1,表示从前面i ......
Atcoder Bomb Game ABC 333

[ABC265F] Manhattan Cafe 题解

[ABC265F] Manhattan Cafe 题解 思路解析 很有思维难度的一道题。思路是dp,\(f[i][j][k]\) 表示已经计算了 \(i\) 维,距离点 \(p\) 的距离为 \(j\) ,距离点 \(q\) 的距离为 \(k\) 时的整点 \(r\) 个数,由此可见我们的每一维都可 ......
题解 Manhattan 265F Cafe ABC

ABC334 全套题解

A - Christmas Present 简单题。 void slv() { int a = Read<int>(), b = Read<int>(); if (a > b) Puts("Bat"); else Puts("Glove"); return; } B - Christmas Tree ......
题解 全套 ABC 334

题解 ABC334F【Christmas Present 2】

设 \(f_i\) 表示假设只有编号为 \(1\sim i\) 的点,此时的答案。\(f_n\) 即为所求。 显然有: \[f_i=\min\limits_{i-k\le j < i}\{f_j+dis(s\to j+1\to j+2\to\cdots\to i)\}+dis(i\to s) \]当 ......
题解 Christmas Present 334F ABC

题解 ABC334E【Christmas Color Grid 1】

先求出初始时绿连通块数量。 枚举每个红色格子,将其染成绿色本应增加一个绿连通块,但是它每与一个绿连通块相邻,就又会减少一个绿连通块。根据上述规则可以求出每个红色格子染绿后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\)。 // Problem: E - Christmas Color ......
题解 Christmas Color 334E Grid

题解 ABC334G【Christmas Color Grid 2】

先求出初始时绿连通块数量。 将一个绿色格子染成红色,会改变绿连通块数量,当且仅当这个绿色格子是孤点或割点。如果是孤点,会使得绿连通块数量减少一;如果是割点,会使得绿连通块数量增加它所在的点双数量减一。根据上述规则可以求出每个绿色格子染红后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\) ......
题解 Christmas Color 334G Grid

ABC251G

提供一个本质相同,但是不需要会向量也能做,而且很好想的方法。 首先发现凸包点少,也就意味着边少,考虑从边的方向寻找突破口。 考虑一个凸包的本质:若干个直线划分出若干个半平面,它们的交即为这个凸包。如果一个点对于每一条直线,都在于凸包的同侧,那么这个点就在这个凸包内。 这样直接暴力做仍然是 \(O(n ......
251G ABC 251

ABC321G

其实赛时可能可以做出来的,只是打了前 6 道想下班了,有点小小遗憾。 首先问题看起来很唬人,考虑转换一下。考虑已经固定 \(m\) 条边,对于一个集合 \(S\),什么时候会不与其他点有边。容易发现,此时需要满足 \(\sum[R_i\in S]=\sum [B_j\in S]\)。记这个数为 \( ......
321G ABC 321

ABC141F

偶然找到的线性基好题。 考虑 \(s=\bigoplus x_i\),则此时 \(b=s\oplus a\),问题变为 \(\max(a+(s\oplus a))\)。 然后观察 \(s\),有一个很典的想法是,\(s\) 为 \(0\) 的位上,\(a\) 如果是 \(0\) 则会产生 \(0\) ......
141F ABC 141

设计模式<c++> (1)策略模式

一、定义 策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 二、使用场景 客户需要很多种鸭子。 要求: 1.每种鸭子都要会游泳。 2.每种鸭子有叫和飞的行为。 3.鸭子的叫和飞的行为可以在使用时动态的设置。 思考:有绿头鸭、红头鸭、橡皮鸭、木头鸭。 ......
模式 设计模式 策略 lt gt

「杂题乱刷」AT_abc280_d

题目链接 舒服题。 考虑贪心,我们可以直接枚举到 \(10^7\),然后将 \(n\) 一直除以 \(n\) 和 \(i(1\le i \le 10^7)\) 的最大公因数,若到 \(10^7\) 时 \(n\) 还不为 \(1\),这时直接输出 \(n\) 即可。 参考代码: 点击查看代码 /* ......
AT_abc 280 abc AT

「杂题乱刷」AT_abc280_e 题解

题目链接 期望 dp 板子题,我们直接设 \(dp_i\) 为怪物血量只剩下 \(i\) 时的概率即可,状态转移方程也很简单了,详见代码。 参考代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #i ......
题解 AT_abc 280 abc AT

顺颂秋冬<一>

起名字真难。 原来想给这个合集起个积极的名字,记录鄙人浅薄的认知和内心的荒芜。 以及所遇见的温暖。 想来想去,不过是 浮生旧茶 西楼残月之类的 难堪大用。 后来想起来一句, 即,顺颂时祺,秋绥冬禧,就简而化用了。 至于更新什么,应该就是在下短暂人生的一些感悟。 或者故事什么的。 我的人生很短,你的故 ......
秋冬 lt gt

#include<iostream>和#include<windows.h>报错的可能原因之一

平台:VisualStudio 找不到头文件的路径那么首先想到的就是没有设置好路径,排查好发现自己做了一件蠢事。 正常来说配置包含目录应该是在图1红框处点开右边的箭头展开后在图2蓝框处添加,但是一个不小心直接在图1红框处覆盖了路径,这就导致前面的默认路径都没了。 图1 图2 ......
include iostream 原因 windows gt

base64 常用的前缀

.doc——data:application/msword;base64, .docx——data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64, .xls——data:applicati ......
前缀 常用 base 64

前缀和

//求某个数组某一段的和 //s[i] = s[i-1]+a[i]; //同理:正方形矩阵求S[i,j]:S[i,j] = S[i-1,j]+S[i,j-1]-S[i-1,j-1]+a[i,j] //求子矩阵的和s[x2,y2]-s[x2,y1-1]-s[x1-1,y2]-s[x1-1,y1-1]; ......
前缀

[ABC265E] Warp

首先,这一题很显然是一个 Dp。 考虑如何转移状态,因为一开始的坐标是 \((0,0)\)。 发现最后的坐标是 \((A\times i + C \times j + E \times k,B\times i + D \times j + F \times k)\)。如果是统计最后的种类的话,那么就 ......
265E Warp ABC 265

离散化,前缀和,差分

离散化,前缀和,差分 一维前缀和和差分之前学过不再记录 二维情况 前缀和 多维前缀和的普通求解方法几乎都是基于容斥原理 例如有这样一个矩阵,可以视为二维数组: 1 2 4 3 5 1 2 4 6 3 5 9 定义一个矩阵\(sum\)使得\(sum_{x,y}=\sum_{i=1}^{x}\sum_ ......
前缀

【模版】前缀和

问题引入: 【洛谷P8218】 ## 题目描述 给定 $n$ 个正整数组成的数列 $a_1, a_2, \cdots, a_n$ 和 $m$ 个区间 $[l_i,r_i]$,分别求这 $m$ 个区间的区间和。 对于所有测试数据,$n,m\le10^5,a_i\le 10^4$ 最朴素的想法,就是对于 ......
前缀 模版

题解 P9963【[THUPC 2024 初赛] 前缀和】

注意到,\(x_i\) 取 \(k\) 的概率是 \(p(1-p)^{k-1}\),是和为 \(1\) 的等比数列,下面考察数列前缀和的性质。 不难想到,概率每次乘以 \(1-p\) 像是概率的分步乘法,每一步正是加一的操作。于是可以得到如下转化:初始时 \(S=0\),每一时刻 \(S\) 先增加 ......
题解 初赛 前缀 P9963 THUPC

题解 P9963【[THUPC 2024 初赛] 前缀和】

注意到,\(x_i\) 取 \(k\) 的概率是 \(p(1-p)^{k-1}\),是和为 \(1\) 的等比数列,下面考察数列前缀和的性质。 不难想到,概率每次乘以 \(1-p\) 像是概率的分步乘法,每一步正是加一的操作。于是可以得到如下转化:初始时 \(S=0\),每一时刻 \(S\) 先增加 ......
题解 初赛 前缀 P9963 THUPC

AtCoder_abc333

AtCoder_abc333 比赛链接 A - Three Threes 题目描述 输入一个 \(N\) 输出 \(N\) 个 \(N\) 。 解题思路 (这个题但凡学过都能写出来吧) Code // Problem: A - Three Threes // Contest: AtCoder - T ......
AtCoder_abc AtCoder 333 abc

ABC265 复盘

ABC265 复盘 At 链接 LG 链接 [ABC265A] Apple 思路解析:判断一下一次性买 3 个便宜还是 3 个分开买便宜,选更便宜的方法尽量多买剩下的单独买即可。 #include<bits/stdc++.h> using namespace std; int n, x, y; in ......
ABC 265

vs .csproj会丢失<SubType>导致代码无法显示设计界面

突然某天打开vs代码,点击某个页面,无法显示可视化设计界面,直接进入代码; 和之前版本对比发现.csproj丢失许多<SubType>。 解决办法:debug模式下重新生成,然后关闭vs,再打开就可以了。 貌似是vs的bug。 ......
界面 SubType 代码 csproj vs

字符串篇(leetcode—最长公共前缀)

字符串 百度百科:字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。 常用函数 比较函数 C++、Python等支持运算符重载的语言——可以使用 == 来比较两个字符串 JAVA等不支持运算符重载——可 ......
前缀 字符串 字符 leetcode

<学习笔记> 四边形不等式

四边形不等式 对于任意的 \(l_1\le l_2\le r_1\le r_2\),满足 \(w(l_1,r_1)+w(l_2,r_2)\le w(l_1,r_2)+w(l_2,r_1)\) 。 若等号恒成立,则称函数 \(w\) 为四边形恒等式。 如何证明 若满足 \(w(l,r-1)+w(l+1 ......
四边形 不等式 四边 笔记 lt

linux:date <=> timestamp:转换;10进制 <=> 16进制;读取二进制原始数据hexdump

进制转换: 使用linux的 coreutils 的 printf 函数 : printf "%d" 0xf23b9 printf "%x" 12345 date timestamp 转换: date +"%F_%T" -d @时间戳的长整型值 date +"%s" [now] tail\head ......
进制 二进制 timestamp hexdump 数据

AT_abc323_f [ABC323F] Push and Carry 题解

不难发现答案的下界为 \(|x_b-x_c|+|y_b-y_c|\),这是每步都推箱子的情况。 但很多时候并不能直接开始推箱子,所以人要先移动到箱子的后面(相对于目的地),再把箱子往目的地推。 比如这种情况(B 为箱子,C 为目的地): B.. ... ..C 推完箱子的一边后,还要走到另一边: ↓ ......
题解 323 AT_abc Carry 323F
共1630篇  :4/55页 首页上一页4下一页尾页