ICode9

精准搜索请尝试: 精确搜索
  • cf1701 F. Points2022-07-14 13:05:03

    题意: 定义美丽三元组 \(<i,j,k>\):\(i<j<k\) 且 \(k-i\le d\) 给定 \(d\),动态维护一个点集,支持添加点和删除点操作,在每次操作后输出全集中美丽三元组的数量 范围都是 \(2e5\) 思路: \(f_i\) 表示点 \(i\) 存在的情况下,\([i+1,i+d]\) 中有多少个点。那么答案就是 \(\sum C_{f_i}^2=\f

  • CF380C Sereja and Brackets 题解 数列分块2022-07-14 08:35:43

    题目链接:https://codeforces.com/contest/380/problem/C 题目大意:给定长度为 \(n(\le 10^6)\) 的一个括号序列,有 \(m(\le 10^5)\) 次询问,每次询问给定一个区间 \([l,r]\),你需要回答出区间 \([l,r]\) 范围内的所有子序列里面最长的合法括号表达式的长度。 解题思路: 首先,无论在哪个

  • 从计数器到可控线性序列机2022-07-13 16:35:23

    设计定义      2. 设计输入 //亮0.25s,灭0.75s module counter_led_1( clk, rst, led ); input clk; input rst; output reg led; reg [25:0] cnt; parameter mcnt = 50_000_000; always@(posedge clk or neged

  • 归并排序的经典-求逆序对2022-07-12 22:33:38

    本来今天poj崩掉了,并且求逆序对也是个很简单的问题,罗黑上的分治的题也都刷完了(其实难得一见上罗黑的练习题上的简单题目),东哥的题又刷不动,打算今天就到这了 但是一想到以前也没有总结过逆序对的求法,写完这个总结在做一道每日一题就休息了; 先认识一下什么是逆序对,举一个例子:   上

  • SUSTOJ.排了又没有完全排2022-07-12 19:05:08

    题目详情 - 排了又没有完全排 - SUSTOJ 2022-07-12 思路: 二分猜数字,常规二分,返回左端点的模板 check比较难写 用双指针,左右夹数,把矩阵画出来比较好理解。   1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 5 typedef long

  • 【FPGA学习笔记】VL40 占空比50%的奇数分频2022-07-12 13:00:27

    设计一个同时输出7分频的时钟分频器,占空比要求为50% 注意rst为低电平复位       信号示意图:              clk_pos是周期为7且在clk_in上升沿翻转的信号, clk_neg是周期为7且在clk_in下降沿翻转的信号。   代码 复制代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  • Math2022-07-11 22:02:39

    题目大意: JATC的数学老师为了不让同学们感到厌倦,总是出一些有趣的题目。今天的题目是这样的: 给定一个整数n,您可以对它进行如下操作: 乘以x:把n乘上x(x是任意正整数)。 开方:把n的值更新为sqrt{n} (前提是\sqrt{n}必须为整数)。 您可以对这些操作进行零次至任意次。那么n可以达到的最

  • CF #805(div3) G1. Passable Paths (easy version) 找规律+树上模拟~2022-07-11 20:33:05

    思路来自实验室一个work hard的学长~ 题意是说有一个点集,在树上,能否一笔画把这些点集走一遍 easy版本因为q在[1,5]之前,范围比较小,可以暴力 考虑什么情况下不能一笔画~ 如果对于一个点,它的分支有父亲fa、若干个儿子son 设想如果很多个分支上都有点集,显然没法一笔画走过去 当且仅当有

  • LCA模板2022-07-11 20:31:36

      拿来存一下lca模板,想知道原理的话出门洛谷~ #include<bits/stdc++.h> using namespace std; const int maxn=500007; int cnt=0,head[maxn],fa[maxn][40],dep[maxn],lg[maxn]; struct lys{ int from,to,nex; }e[maxn*2]; void add(int from,int to){ cnt++; e[cnt

  • Codeforces Round #805 (Div. 3)2022-07-11 16:06:35

    比赛链接: https://codeforces.com/contest/1702 E. Split Into Two Sets 题意: \(n\)(\(n\) 为偶数)张多米诺骨牌,每张骨牌有两个数字(数字范围为 1 到 \(n\)),问是否能将所有的骨牌分成两堆,每堆中的数字没有重复。 思路: 容易知道最后划分出来的两堆骨牌覆盖了 1 到 \(n\) 的所有数字,即每

  • SQL20、分组排序练习题2022-07-11 13:00:17

    思路:要查看不同学校的情况可以使用GROUP BY进行分组,然后对结果升序排序可以使用ORDER BY关键字 代码解释:从表user_profile中取出列university和平均发帖数,然后对结果进行分组并升序排列 SELECT university, AVG(question_cnt) AS avg_question_cnt FROM user_profile GRO

  • 1057 数零壹2022-07-11 12:32:36

    关键 二进制的算法 代码 #include <iostream> #include <cstdio> #include <string> using namespace std; int main() { string s; int cnt=0; int zcnt=0,ocnt=0; getline(cin,s,'\n'); for(int i=0;s[i]!=NULL;i++){ if(s[i]<='z'

  • POJ1417 True Liars2022-07-10 23:34:22

    题目链接 题目 Description After having drifted about in a small boat for a couple of days, Akira Crusoe Maeda was finally cast ashore on a foggy island. Though he was exhausted and despaired, he was still fortunate to remember a legend of the foggy island, wh

  • 周赛题练习-mid模块2022-07-10 23:00:57

    1864. 构成交替字符串需要的最小交换次数 解题思路 本题要求给定0和1组成的字符串,求0和1交换的最小次数组成010..或101.. 由于最终结果不是010..就是101..,因此对字符串的字符进行遍历,比较0开头和1开头最终字符串中的0和1差异数 对结果进行条件判定: 如果两种的结果都无需交换,直接

  • [学习笔记] 析合树学习笔记2022-07-10 22:00:32

    做 CF 的时候碰到了这个,于是就滚过来学了。本文全部参考 OI-wiki。所以你的学习笔记就是把原文抄一遍吗 其实是一个比较简单的东西,感觉 OI-wiki 上有些部分写得太繁杂了,所以就稍微做了一些简化。 引入 这个问题是这样的:给定一个长度为 \(n\) 的排列,我们称一个值域连续的区间为段,问

  • AtCoder Beginner Contest 259 G,Ex2022-07-10 20:34:45

    G Ex 分类讨论。 我们设\(cnt(i)\)表示数字\(i\)出现的次数。 若\(cnt(i)\leq n\),那么我们可以直接暴力枚举出发和到达点,用组合数算出路径数。 否则这样的\(i\)一定不超过\(n\)个,故我们可以枚举\(cnt(i)>n\)的\(i\)。设当前\(i=now\)。 设\(f(i,j)\)表示起点在\((1,1,i,j)\)的子矩

  • NC15976 小C的周末2022-07-10 16:31:09

    题目链接 题目 题目描述 愉快的周末到了,小C和他的N-1个朋友买了M个游戏,游戏编号从1~M。每个游戏都是多人游戏,他们打算周末一起打游戏。 小C的每个朋友都决定好了要玩哪一款游戏(会有一组人打同一款游戏),并且每人手上都有一台游戏机,这种游戏机可以通过特定的游戏机连接线连接起来。

  • Educational Codeforces Round 131 (Rated for Div. 2) A —— C2022-07-10 11:37:56

    A. Grass Field 解决代码: void solve() { int a, b, c, d; cin >> a >> b >>c >>d; int cnt = 0; cnt = a + b +c + d; if(cnt == 0) cout << 0 << endl; else if(cnt == 4) cout << 2 << endl; else cout << 1 &

  • 1049 数列的片段和 测试点2、3数据精度问题2022-07-09 18:31:20

    问题 cnt=cnt+a[i]*(i+1)*(n-i); 此处容易溢出,因此必须用long double 注意点 cout的格式化输出,iomanip cout<<fixed<<setprecision(2)<<cnt; 代码 #include <iostream> #include <cstdio> #include <iomanip> using namespace std; long double a[100003]

  • 一次遍历 -- 加油站2022-07-09 12:05:18

    加油站 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则

  • 1040 有几个PAT2022-07-08 19:32:26

    关键 PAT的个数就是A左边P的个数乘以右边T的个数 时间复杂度必须为o(n) 思路 从头开始向后遍历字符串。 如果是’P',A左边的p的count++; 如果是‘A',cnt+=A左边的p的count*(t的count-A左边的t的count); 如果是’T‘,A左边的t的count++ 代码 #include <iostream>#include <cstdio>#i

  • [cf309E]Sheep2022-07-08 16:01:32

    二分枚举答案,并考虑如下贪心: 从左到右依次选择区间,并维护未选区间的"右边界" 记当前位置为$l$,右边界$\le r$的未选区间数为$cnt_{l,r}$(其中$r\in [l,n]$) 取最小的$r$满足$cnt_{l,r}=|[l,r]|$,将这$cnt_{l,r}$个区间中右端点最小的填在$l$上 关于上述贪心的正确性,证明如下: 将所有

  • CF1491D(思维,位运算)2022-07-07 13:03:54

    CF1491D(思维,位运算) 题意 一个无限大的有向图,按如下方式建边,问 \(u\) 是否可达 \(v\) 。 当 \(u\&v=v\) 时建立一条从 \(u\) 到 \(u+v\) 的边 思路 显然可达保证 \(u \le v\) 。 之后就没法一眼了,画图考虑一些特殊点。 画个图可以发现,\(2\) 的幂次只能走到二的幂次。进而我们想到

  • 破坏正方形UVA16032022-07-07 11:35:29

    题目大意   有一个由火柴棍组成的边长为n的正方形网格,每条边有n根火柴,共2n(n+1)根火柴。从上至下,从左到右给每个火柴编号,现在拿走一些火柴,问在剩下的后拆当中ongoing,至少还要拿走多少根火柴才能破坏掉所有的正方形?   虽然本题的数据规模不大,但是却有多种选择火柴棍的方法,导致如

  • 圆方树2022-07-06 20:06:30

    目录圆方树前言定义如何建树习题CF487E tourists 圆方树 前言 众所周知,树往往有着许多非常好的性质 圆方树就是一种把一个图变成一棵树的方式 定义 我们一般在无向图上使用圆方树 先介绍点双连通分量 一个点双连通图的定义:图中任意两点之间都至少有两条不同的路径可互相抵达 一个

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有