02 2020 档案
摘要:题目描述 如题,已知一个数列,你需要进行下面三种操作: 将某区间每一个数乘上 xx 将某区间每一个数加上 xx 求出某区间每一个数的和 输入格式 第一行包含三个整数 n,m,pn,m,p,分别表示该数列数字的个数、操作的总个数和模数。 第二行包含 nn 个用空格分隔的整数,其中第 ii 个数字表示数
阅读全文
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上 k。 求出某区间每一个数的和。 输入格式 第一行包含两个整数 n, ,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第i 项的初始值。 接下来 m行每行包含 3
阅读全文
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的值 输入格式 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含2或4个整数,表示一个操
阅读全文
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 n个用空格分隔的整数,其中第 i个数字表示数列第 ii项的初始值。 接下来 m 行每行包含 3 个整数,表
阅读全文
摘要:想退役了~ Problem Description Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a tuff time for Joe who se
阅读全文
摘要:题目描述: 给定一串序列x[],其中的每一个Xi看作看作一颗珠子,每个珠子包含两个参数,head和tail,前一颗的tail值是后一个的head值,珠子呈现环形(是一条项链),所以最后一颗的tail是第一个珠子的head.当tail遇到对应的head时会放出 Xi.head*Xi.tail*X++i
阅读全文
摘要:石子合并不应该是个区间dp? 题目:There is an old stone game.At the beginning of the game the player picks n(1<=n<=50000) piles of stones in a line. The goal is to me
阅读全文
摘要:附题目链接:Bone Collector II Input The first line contain a integer T , the number of cases.Followed by T cases , each case three lines , the first line co
阅读全文
摘要:题目描述 给定一个 n个点 m 条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 输入格式 第一行两个正整数 n,,m 第二行 n 个整数,依次代表点权 第三至 m+2行,每行两个整数
阅读全文
摘要:题目描述:给出每个节点的两个儿子节点,建立一棵二叉树,如果是叶子节点,则输入0 0。建好树后希望知道这棵二叉树的深度。二叉树的深度是指从根节点到叶子结点时,最多经过了几层。 最多有 10^6 个结点。 输入: 7 2 7 3 6 4 5 0 0 0 0 0 0 0 0 输出: 4 分析:给你一颗树,
阅读全文
摘要:题意:在老鼠体重增大的同时要使速度减少,换句话说就是在体重递增的条件下找出速度的最大下降子序列. 输入:文件以eof结束,每一行两个,第i行表面第i只老鼠的体重和速度. 输出:最优解的长度,以及路径 Sample Input 6008 1300 6000 2100 500 2000 1000 400
阅读全文
摘要:题目大意:给你一颗生成树,求你将它改造为一个环,即每个节点的度为二,对于每一个节点来说,可以删除或增加边,每次操作的消耗均为1,求将它改造成环的最小消耗. Input: first line contains the number of test cases T( T<=10 ). Followin
阅读全文
摘要:在求最大连续和的基础上,求得连续序列的始末位置 要求:The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each
阅读全文
摘要:以前在oi中见到网络流的题都是直接跳过,由于本蒟蒻的理解能力太弱,导致网络流的学习不断推迟甚至被安排在了tarjan之后,原本计划于学习完最短路后就来学网络流的想法也随之破灭,在看完众多大佬 的博客后,我发现我不怎么能看懂(因为我自己太菜了),所以特来写一篇整理一下自己所学到的. 常见的网络流算法根
阅读全文
摘要:今天为大家带来最小生成树的第二种实现方式,比起kruskal来说,prim相对要复杂一些,在稠密图的表现中表现较好,最优情况下也是nlogn级别. 描述: 1).输入:一个加权连通图,其中顶点集合为V,边集合为E; 2).初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew
阅读全文
摘要:今天写一篇关于最小生成树的番外篇,以前写最小生成树总是用的prim,关于kruskal只是知道一些原理,一直也没有时间去学,今天偶然看了一些并查集,才想起了这个算法 会想起刚刚(预)学过的数据结构,来解释一下它的原理: 先构造一个只含 n 个顶点、而边集为空的子图,把子图中各个顶点看成各棵树上的根结
阅读全文
摘要:N位同学站成一排,音乐老师要请其中的(N−KN-KN−K)位同学出列,使得剩下的KKK位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K1,2,…,K1,2,…,K,他们的身高分别为T1,T2,…,TKT_1,T_2,…,T_KT1,T2,…,TK,
阅读全文
摘要:继上次讲完求LCS长度后,来更新一篇具体求LCS的求法。 in: abcicba abdkscab out: abca 我们已经知道lcs中的状态转移方程为: for(int i=0;i<=a;i++) { for(int j=0;j<=b;j++) { if(i==0||j==0) { dp[i]
阅读全文
摘要:问题描述:给你一个字符串,问至少需要添加几个字符才能形成回文串。 in: 5Ab3bd out: 2 解释如:dAb3bAd 做法:将给出的字符串反向存一遍,然后找最长公共子序列,用原长减去该长度就是需要添加的字符数 由于长度n为[3,5000];开5000的二维数组会mle,所以我们用滚动数组,由
阅读全文
摘要:题目描述: 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍
阅读全文
摘要:The cows don't use actual bowling balls when they go bowling. They each take a number (in the range 0..99), though, and line up in a standard bowling-
阅读全文
摘要:题目描述:给出两个字符串,求两个字符串的公共子序列(不是公共子串,不要求连续,但要符合在原字符串中的顺序) in: abcfbc abfcab programming contest abcd mnp out: 4 2 0 状态转移方程: 如果s1[i]==s2[j] 则 c[i][j]=c[i-1
阅读全文
摘要:题目描述:求最长下降子序列的长度 in: 71 7 3 5 9 4 8 out: 4 解释:1 3 4 8/1 3 5 8 长度为四 这让我想到了hdu上导弹拦截那道题,是求最长上升子序列长度 其转移方程为: dp[i]=max(dp[i],dp[j]+1); 如果a[j]<a[i],那么dp[i]
阅读全文
摘要:最大连续和:给出一段序列,选出其中连续且非空的一段使得这段和最大。 stdin: 7 2 -4 3 -1 2 -4 3 stdout: 4 状态转移方程:dp[i]=max(dp[i-1]+a[i],a[i]) 如果dp(i-1)已经为负数,那么前i-1段就没有意义了,我们直接从a[i]重新开始取。
阅读全文
摘要:01背包和完全背包都是dp入门的经典,我的dp学的十分的水,借此更新博客的机会回顾一下 01背包:给定总容量为maxv的背包,有n件物品,第i件物品的的体积为w[i],价值为v[i],问如何选取才能是背包内的物品价值总和最大。 stdin: 5 1 2 3 4 5 5 4 3 2 1 stdout:
阅读全文

浙公网安备 33010602011771号