首页 > TAG信息列表 > DIF

借教室

https://www.luogu.com.cn/problem/P1083 二分加差分加前缀和,对差分数组求前缀和就是当前点的数据 因为如果第x个人可以,那么第x人前面的必定可以,如果x个人不可以,那么第x个人之后的必定不可以,故可以二分 对差分数组,每个区间左区间加这个人要借的,右区间减这个人要借的,求前缀和就是

2022.5.2 比赛题整理

2022.5.2 2022初一测试五 链接集合 总结 \(80 + 80 +20 + 0 = 180\) 会拿部分分了,有进步。 T1:模拟,最后一个大数据打表。 T2:概率问题,贪心。 T3:找规律/性质,模拟。 \({\color{Red}{\text{dp 好题}}}\)T4:dp + 前缀和 + 预处理最长相同前缀长度。 Problem A Solution \({\color{Red}{\t

LeetCode Gas Station 数学

There are n gas stations along a circular route, where the amount of gas at the \(i\)th station is gas[i]. You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from the \(i\)th station to its next \((i + 1)\)th station. Yo

ABC127

题目 A.Ferris Wheel Time:\(1:53\) Dif:\(15\) Description: \(\text{age}>12\to\) 全票。 \(6\leq\text{age}\leq12\to\) 半票。 \(\text{age}<6\to\) 免票。 给 \(\text{age}\) 求票价。 Code B.Algae Time:\(4:29\) Dif:\(26\) Description: 已知 \(x_{i+1

树上差分

差分数组 我们令\(a[i]\)表示原数组 \(dif[i]\)表示差分数组 那么我们就有 \[\left\{ \begin{aligned} dif[0]&=a[0]\\ dif[i]&=a[i]-a[i-1],i>0 \end{aligned} \right. \]那么\(a[i]=\sum_{k=0}^idif[k]\) a[i] 4 6 4 3 6 dif[i] 4 2 -2 -1 -3 假设我们要将a[i]到a[k]

算法练习题20---蓝桥杯2019省赛“等差数列”

文章目录 前言一、题目描述输入描述输出描述输入输出样例示例 运行限制 二、思路三、具体代码 前言 蓝桥杯2019省赛,编程题(C++) 一、题目描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。 现在给出这 N 个整数,小

[CF936D]World of Tank

World of Tank 题解 相当有趣的 d p dp dp题。 显然,如果我们要开炮击毁一个建筑,我们是可以提前在许多个位置开炮的,只要 CD 好了就可以开炮。 如果

Codeforces Global Round 18 A-C题解

csdn转过来的,我是yzh本人,不是抄的文章 A. Closing The Gap 题意: 给$n$个整数$a_1$...$a_n$,有一种操作: 选择两个a,b使a+=1,b-=1 问经过若干次操作后,$Max(a_i...a_n)-Min(a_i...a_n)$的最小值 思路: 想水流一样,这个高度差的最小值不可能>1(可自行证明) 如果$\sum_{i=1}^n a_i$ $mod$

7-27 人以群分

#include<iostream> #include<cstdio> #include<algorithm> using namespace std; long long n,a[100005],x,y,b[100005],dif; int main() { cin>>n; for(int i=1;i<=n;i++) scanf("%lld",&a[i]); sort(a+1,a+1+n); for(int i

差分数组的一些问题

差分利用公式或者模板时候(原数组a[], 差分数组b[]) 1、如果初始定义时a[n+ 1],其中n是输入数组的长度,那么相当于a[0] = 0, 后面的n长度才是数组的数组。 根据差分定义b[i] = a[i] - a[i - 1] 那么b[0]仍然是0, 后面才是差分数组原数组。之所以这样是为了方便处理边界情况,要不然

【LeetCode】NO.122 买卖股票的最佳时机 II (C++ & Python) [贪心算法]

题目[中等] 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 来源:力扣(LeetCode) 链接:https://leet

cf1076 E. Vasya and a Tree(树上差分)

题意: n个节点的树,m次询问,每次把v的子树中与v的距离不超过d的节点都加上x。输出最终所有点的值。 n,m <= 3e5,d,x <= 1e9 思路: 每次处理节点u的所有询问,对每个询问,修改差分数组的区间 \([h,h+d]\) 的两个端点。每次把差分前缀和传递给儿子。 每差分完一棵子树都要还原差分数组。 应

LeetCode打卡

将分糖果问题转化为确定种类问题,当超过一半就输出一半,没超过就输出种类。 #include<iostream> #include<vector> #include<algorithm> using namespace std; class Solution { public:     int distributeCandies(vector<int>& candyType) {         int i = 0; int j

基于FPGA的4位减法器结构化设计

1. 设计要求:   设计一个4位减法器,采用结构化设计。该设计名为sub_4bit,其顶层设计如下图所示,有三个输入量:被减数x[3:0],减数y[3:0],低位向本位的借位bin;有两个输出量本位差dif[3:0],本位向高位的借位bout。数学表达式为:(x + bout) – y – bin = diff 2. 设计实现   4位减法器由

【经典买点】MACD指标的八种买入形态图解

MACD指标中的DIF和MACD、DIF和DEA两线,按照其金叉时在零轴上、下的位置,和金叉前是否发生过死叉、死叉发生的位置,有八种形态图形,它们分别是:佛手向上、小鸭出水、漫步青云、天鹅展翅、空中缆绳、空中缆车、海底电缆和海底捞月。(本文转发自公众号:反跟单交易。转载需注明出处。)

2736:大整数减法

原题:http://bailian.openjudge.cn/practice/2736/ 描述 求两个大的正整数相减的差。 输入 共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。 输出 一行,即所求的差。 样例输入 9999999999999999999999999999999999999 9999999999999 样例输出

1864. 构成交替字符串需要的最小交换次数(思维)

传送门 给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。 交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 "010" 和 "1010" 属于交替字符串,但 "0100" 不是。 任意两个字符都可

P1083 [NOIP2012 提高组] 借教室

Label 简单的二分答案+简单差分数组维护 Description https://www.luogu.com.cn/problem/P1083 Solution 解法一—线段树 维护区间 r r r数组最小值,每一个订单相当于区间减

AtCoder Beginner Contest 187题解(D~E)

AtCoder Beginner Contest 187 D - Choose Me 题意   现给定\(n\)个城市,第\(i\)城市分别有\(a_i\)个人投票给\(A\),有\(b_i\)个人投票给\(B\),现在\(B\)可以选择到一些城市演讲,\(B\)所到达的城市中的所有人将会给他投票,其他城市的人,支持\(A\)投票的人将依旧给\(A\)投票,但是支持\(B

利用imagehash库比较图片是否一致

1.背景 编写观看视频相关case时,需要校验已观看的资源是否显示在“最近观看”列表,且资源封面显示的正确; 此时就要校验资源在视频列表的封面、与在“最近列表”的封面是否相同; 就是比较两个小图片是否相同。 2.解决思路 先截取到指定位置的封面图片,然后获取图片哈希值,比较两图

CF573E Bear and Bowling

XXVII.CF573E Bear and Bowling 考虑暴力的DP。设 \(f_{i,j}\) 表示前 \(i\) 个元素中选择长度为 \(j\) 的子序列所能得到的最大收益。 考虑由 \(f_i\) 转移到 \(f_{i+1}\)。明显,一共有两种转移方式:\(f_{i,j}\rightarrow f_{i+1,j}\),或 \(f_{i,j}+(j+1)a_{i+1}\rightarrow f_{i+1,

[BZOJ4664]Count

Count 题解 简单dp。 首先发现这道题的贡献是绝对值,有点烦,考虑如何去掉绝对值。 我们可以对 h h h从大到小排序,这样加入 h

量化投资学习【经典指标和K线图系列】之4——MACD

最近从经典技术指标开始学习量化策略,有些在talib中有打包好的函数,但我还是希望自己在编的过程中学习策略的思想、进一步改进基础策略。今天学习了移动平滑异同平均线(Moving Average Convergence Divergence,简称MACD指标)策略。MACD是查拉尔·阿佩尔(Geral Appel)于1979年提出

洛谷3258 松鼠的新家

题目大意 按给定顺序遍历一棵n个节点的树,求每个节点经过的次数。( 2 ≤ n ≤ 3 ×

7-15 计算圆周率 (15分)

#include <stdio.h> int main() { float dif,sum=1; float a=1,b=3,i=1,k=3; scanf("%f",&dif); while(a/b>=dif){ sum+=(a/b); i++; a*=i; k+=2; b*=k; } sum+=(a/b); //当误差小于dif时,要加上误差值 printf("%0.6f",2*sum); retur