最简单的线段树之一,中文题目,不翻译.... 注释讲的比较少,这已经是最简单的线段树,如果看不懂真的说明最基础的理论没明白 推荐一篇文章http://www.cnblogs.com/liwenchi/p/5760498.html 可能和我的线段树风格不一样,无所谓啦,多理解,理解了就可以自己编自己喜欢风格的模板 前排强势提醒!!!线段树的函数中只要涉及到区间(更新/查询),就有一个很容易出错的点. 详情见我的另一篇:http://www.cnblogs.com/liwenchi/p/576125…
先写这几道题,比赛的时候有事就只签了个到. 题目传送门 E. Excellent Engineers 传送门 这个题的意思就是如果一个人的r1,r2,r3中的某一个比已存在的人中的小,就把这个人添加到名单中. 因为是3个变量,所以按其中一个变量进行sort排序,然后,剩下的两个变量,一个当位置pos,一个当值val,通过线段树的单点更新和区间最值操作,就可以把名单确定. 代码: //E-线段树 #include<iostream> #include<cstdio> #include…
礼物 题目大意: 数据范围: 题解: 这题有意思啊($md$卡常 直接做怎么做? 随便上个什么东西,维护一下矩阵乘和插入,比如说常数还算小的$KD-Tree$(反正我是没见人过过 我们漏掉了一个条件,就是所有二元组都是随机的. 这个条件很好,它几乎就保证了,任选一个区间的话,优秀二元组只有$log$个. 这是为什么呢? 其实区间内,优秀二元组的个数,就相当于把区间按照$x$排序后,$y$值是前缀最大值的期望个数. 因为二元组是随机的,所以$x$排序后,$y$仍然是随机的. 就是给定一个随机数列,…
query Given a permutation pp of length nn, you are asked to answer mm queries, each query can be represented as a pair (l ,r )(l,r), you need to find the number of pair(i ,j)(i,j) such that l \le i < j \le rl≤i<j≤r and \min(p_i,p_j) = \gcd(p_i,p_j )…
Max answer Alice has a magic array. She suggests that the value of a interval is equal to the sum of the values in the interval, multiplied by the smallest value in the interval. Now she is planning to find the max value of the intervals in her array…
Consider n initial strings of lower case letters, where no initial string is a prefix of any other initial string. Now, consider choosing k of the strings (no string more than once), and concatenating them together. You can make this many such compos…
学习线段树的第三天...真的是没学点啥好的,又是一道水题,纯模板,我个人觉得我的线段树模板还是不错的(毕竟我第一天相当于啥都没学...找了一整天模板,对比了好几个,终于找到了自己喜欢的类型),中文题目嘛,直接上代码 我感觉我的代码有一个特点吧...有点啰嗦,但是每一行的思维和上一行紧密相连,新手看的话不会感到思维的跃迁,比较容易看懂,因为我之前看一些大神的代码,确实看到一半就不知道他下面啥意思了...所以希望我的代码能够造福新手吧=.= #include<cstdio> #include<…
鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统.当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字.字母序列识别车牌,通过连接车管所车辆信息数据库确认车辆,进行扣费. 斗智斗勇的好戏一般从此处展开… 一些车主通过在停车时遮挡车牌上的一个或多个数字.字母序列,来阻碍识别系统的识别工作,以此逃避停车费用的缴纳. 车主这简直是用轻轻的一挡搞出来一个世界难题有木有?!管理是一方面,技术解决才是王道啊. 这么难的项目不得不交给计蒜客实验室了.D 神负责…
这是我无聊时在计蒜客发现的一道题. 题意: 蒜头君有一天闲来无事和小萌一起玩游戏,游戏的内容是这样的:他们不知道从哪里找到了N根不同长度的木棍, 看谁能猜出这些木棍一共能拼出多少个不同的不等边三角形.注意在拼三角形的时候一定要用上所有的木棍. 不同的定义是至少有一条边的长度不相同:不等边的定义是三条边都不相等. 输入格式: 第一行为数据组数T,(1 <= T <= 15). 接下来每组数据占两行,第一行为木棍的数量 N(1 <= N <= 15) 第二行有N个正整数li(1 <…
又到了一年一度的新生入学季了,清华和北大的计算机系同学都参加了同一场开学考试(因为两校兄弟情谊深厚嘛,来一场联考还是很正常的). 不幸的是,正当老师要统计大家的成绩时,世界上的所有计算机全部瘫痪了. “计算机坏了,可计算机系还得办.小 K,你去了解一下大家的成绩,顺便数数今年两校计算机系有多少人吧!” 于是,小 K 来到了人群中,开始调查大家的成绩. 然而,同学们只有七秒钟的记忆,已经忘记了自己的具体成绩(这可真是尴尬啊). 但是,因为在忘记成绩之前和校友互相调侃过,他们清楚地记得 在自己的学校…
题目: https://www.jisuanke.com/course/2291/182238 思路: 1.dfs(int a,int b,int c,int index)//a,b,c三条边的边长,index是数组的下标 从dfs(0,0,0,0)开始,每次选的长度可能加到a,也可能b,也可能c, 三种可能分别dfs: dfs(a+len[index+1],b,c,index+1);dfs(a,b+len[index+1],c,index+1);dfs(a,b,c+len[index+1],i…
题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/details/76599695 dfs(int cnt, int curVal)//cnt是k,p的下标,curVal当前的和值从1到m遍历进入dfs,然后不停dfs,进行查找,满足条件将结果加一,cnt临界就跳出循环, #include<iostream> #include<cstdio>…
题目: https://www.jisuanke.com/course/2291/182236 思路: 递归解决,从第一本书开始,每本书都有两种选择: //index是book里面每本书价格的下标, //money是目前的费用,cnt是计数现在买了几本书 1.买 dfs(index+1,money+book[index],cnt+1); 2.不买 dfs(index+1,money,cnt);//不买index这本书,往下一本书走 不断的递归进行选择,直到得出结果. #include<iostr…
Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fights they have finally decided to buy a video tape recorder. This fabulous, new device can record kk different TV shows simultaneously, and whenever a sh…
https://github.com/congmingyige/web-crawler_rank-of-competition-in-JiSuanKe-and-hihocoder 1. 计蒜客(获取复制不了的数据) import java.util.Scanner; /** * 无法从网页上获得源代码 */ public class GetScore_jisuanke { static String PREFIX_UNICODE= "\\u"; static char ascii2Ch…
题目链接:https://nanti.jisuanke.com/t/31436 作为一名车手,为了提高自身的姿势水平,平时的练习是必不可少的.小 J 每天的训练包含 $N$ 个训练项目,他会按照某个顺序依次练习这些项目.出于一些玄妙的原因,训练的效果跟项目的顺序有着很大关系.当项目 $i$ 被安排在项目 $j$ 之前进行训练,小 J 会获得 $a_{i,j}$ 的熟练度,否则他会获得 $a_{j,i}$ 的熟练度.为了使训练效果尽可能好,小 J 希望这 $\frac{N(N-1)}2$ 对项目的…
题目链接:https://nanti.jisuanke.com/t/31434 小 D 是一位著名的车手,他热衷于在广场上飙车.每年儿童节过后,小 D 都会在广场上举行一场别样的车技大赛. 小 D 所在的广场可以看作一个 W×H 的网格,初始时小 D 位于左下角的 (1,1) 处,他的目的地是位于右上角的 (W,H). 每次移动时,小 D 会选择位于他右上方的一个方格,并移动到这个方格.由于车技的限制,每次移动小 D 的横坐标变化和纵坐标变化都不能超过 K. 也就是说,每次小 D 会在以当前位置…
计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n,m)\).每次移动可以选择移动到自己右上方的某一方格,且横坐标和纵坐标的变化都不能超过\(k(k\le2000)\).求一共有多少种移动方案? 思路: \(f[i][j]\)表示走到\((i,j)\)的方案数,一边DP一边维护二维前缀和即可. 时间复杂度\(\mathcal O(nm)\). 源代码…
ACM训练联盟周赛 这一场有几个数据结构的题,但是自己太菜,不会树套树,带插入的区间第K小-替罪羊套函数式线段树, 先立个flag,BZOJ3065: 带插入区间K小值 计蒜客 Zeratul与Xor 赛后知道这是个01字典树的题目(嘤嘤嘤???) 这一场写了两道(具体来说就一道)就开溜了,但是计蒜客上这个比赛貌似没有赛后补题,但是有差不多的题目,所以去补那些题就可以了. 有题库链接,可以补题了. G. 算个欧拉函数给大家助助兴 这个题和上一场的 F.Divisions,其实就是一样的题目,代码…
计蒜客里面有一道“跳跃游戏的问题” 给定一个非负整数数组,假定你的初始位置为数组第一个下标. 数组中的每个元素代表你在那个位置能够跳跃的最大长度. 你的目标是到达最后一个下标,并且使用最少的跳跃次数. 例如: A = [2,3,1,1,4],到达最后一个下标的最少跳跃次数为 2.(先跳跃 1 步,从下标 0 到 1,然后跳跃 3 步,到达最后一个下标.一共两次) 输入格式 第一行输入一个正整数 n,接下来的一行,输入 n 个整数,表示数组 A. 输出格式 最后输出最少的跳跃次数. 这道题目吧,其…
今天模拟赛考了一道计蒜客NOIP2017模拟赛(三)day2T3的数三角形,原题链接 https://nanti.jisuanke.com/t/T2202 ,LZOJ3878攻略.场上想了很久都没转化出来,后来觉得这道想法题很妙,记录一下. 题意: 数出一个完全图中完全异色三角形\(\times 3\)-完全同色三角形\(\times 6\)的答案是多少. 解法: 方法一: 转化为:题目本质上是出现同色三角形好感度-9,出现两条边相等另一条不同的三角形好感度-3, 数一数同色角的个数就行了 方法…
ICPC官网题面假的,要下载PDF,点了提交还找不到结果在哪看(我没找到),用VJ交还直接return 0;也能AC 计蒜客题面 这个好 Time limit 3000 ms OS Linux 题目来源 ACM-ICPC 2017 Asia Xi'an VJ爬到的英文题面什么鬼啊,除了标题,哪里有xor字样啊?\((A[i_1], A[i_2], . . . , A[i_t])\)意思是gcd啊?简直了. 计蒜客的题面 2000ms 是不是计蒜客评测姬快一点,时限少了1s 262144K Con…
Online Judge:计蒜客信息学3月提高组模拟赛 Label:记搜,TarJan缩点,树状数组,期望Dp 题解 整个题目由毫无关联的两个问题组合成: part1 问题:对于每个询问的起点终点,求出起点到终点能够收获的最大矿石价值. 思路: 1.矿石种类不多,且收获价值时只与是否拥有有关,与收集数量无关,可以用状态压缩表示当前收集矿石的状态: 2.由于是单向边且可能形成环,用\(Tarjan\)缩点,然后进行转移.或者直接记忆化dfs/bfs,用\(dp[i][j][sta]\)表示,从\(…
计蒜客\(2019CSP\)比赛第二场 巧妙爆零这场比赛(我连背包都不会了\(QWQ\) \(T1\) \(Too\) \(Young\) 大学选课真的是一件很苦恼的事呢! \(Marco\):"我要两年毕业!我要选尽量多的学分!这些课统统选上!" 长者:"你啊,\(Too Young\)!你看看作业量,你做的完吗?" \(Marco\)(笑容逐渐消失\(.gif\)):"那可咋整啊?" 长者:"还能咋整?退课呗!" 已知 \…
POJ 2749 分解因数(计蒜客) Description 给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * - * an,并且1 < a1 <= a2 <= a3 <= - <= an,问这样的分解的种数有多少.注意到a = a也是一种分解. Input 第1行是测试数据的组数n,后面跟着n行输入.每组测试数据占1行,包括一个正整数a (1 < a < 32768) Output n行,每行输出对应一个输入.输出应是一个正…
VJ链接:https://vjudge.net/contest/412095#problem/A Cat 计蒜客 - 42540 题意: 给你一个区间[L,R],给你现在拥有的钱S.你需要从[L,R]区间中选取一些连续的数,如果i^(i+1)^(i+2)^...^(j-1)^j<=s(L<=i<=j<=R),那么你就可以拥有[i,j]这一个子区间.问你你拥有的子区间长度最长是多少 1<=L,R<=1e18 1<=S<=2e18 题解: 你会发现4k^(4k+…
UCloud 的安全秘钥 题意 给出一个数组 s 串,和数组 t 串,那么如果两者长度相同且两者所含的数字全部相同,则说这两个串相似. 给定原始串 S ,以及 m 个询问 T 串,问 S 串有多少个连续子串和 T 串相似. 分析 2017年计蒜之道第五场的题目.题目很有趣,虽然比赛里只水出了中等难度.看了题解,学到了新姿势! 这道题,为了优化复杂度,就是要快速判断两个数组是否完全相同, 对于中等难度,询问的次数很少,那么我们就要加快 T 和 S 的子串的比较速度,那么可以把 1到50000 (n…
牛客练习赛28 - B 传送门 题目 qn姐姐最好了~ ​ qn姐姐给你了一个长度为n的序列还有m次操作让你玩, ​ 1 l r 询问区间[l,r]内的元素和 ​ 2 l r 询问区间[l,r]内的 元素的平方 和 ​ 3 l r x 将区间[l,r]内的每一个元素都乘上x ​ 4 l r x 将区间[l,r]内的每一个元素都加上x 输入描述: 第一行两个数n,m 接下来一行n个数表示初始序列 就下来m行每行第一个数为操作方法opt, 若opt=1或者opt=2,则之后跟着两个数为l,r 若op…
凡是一个具有领导力的孩子.现实生活中他特别喜欢玩一个叫做 UNO 的纸牌游戏,他也总是带着其他小朋友一起玩,然后战胜他们.慢慢地,他厌倦了胜利,于是准备发明一种新的双人纸牌游戏. 初始时,每个人手中都有若干张牌(也可能没有),然后由凡开始轮流出牌,当轮到自己出牌的时候,可以选择: 出一张牌使得待定分数加 111. 不出牌,对方的得分加上现在的待定分数,然后待定分数变为 000. 无论选择什么,接下来都轮到对手出牌. 为了能让这个游戏进行下去,假如现在的待定分数为 000,当前出牌的人就不能选择不…
D题:马的管辖 二进制枚举方案.判断该方案是否全部能被覆盖,将最优方案存下来并进行剪枝. #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; int vis[15][15]; int ans=0x3f3f3f3f; int dx[]= {1,1,2,2,-1,-1,-2,-2};…