codeforce 459DIV2 C题】的更多相关文章

题意 一串括号字符串,里面存在一些‘?’,其中‘?’既可以当作 '(' 又可以当作 ')' ,计算有多少对(l,r),在s中[sl,s(l+1),s(l+2),.....sr],内的括号是匹配的.n=strlen(s)<=5000. 分析 这个题还是卡了很久的,我果然是很菜的. (错误思路)一开始的时候想,用一个变量cur表示还未匹配的左括号 '(' ,用变量num记录‘?’的数量,‘?’尽量当右括号使用,在判断(l,r)是否匹配的时候从左往右扫,遇到'(' 的时候cur++,遇到 ')'cur…
题意 题目给出n,k,要求找出一个1到n的子集,(a,b)的对数等于k:(a,b)满足a<b且b%a==0: 分析 还记不记得求素数的时候的欧拉筛!对就那样!如果把每个数字看作一个点的话,可以通过欧拉筛的方法求入度,然后想一想筛的时候j是如何增加的,可以n/i-1直接求出出度.知道这个结论这个题就不难了.先找到一个范围中,他的边数大于等于k,然后在这个范围内尝试删掉结点是否符合要求.(注意当i>n/2时,在n的范围内就没有出度了,所以可以确定,当在某个范围内边数大于等于k,一点可以通过删除某些…
题意 有n棵树排成一排,每个树上都有c[i]只小鸟,只有站在树下才可以召唤小鸟,在i-th树下召唤k(k<=c[i])只小鸟需要消耗cost[i]*k的法力值,但是每召唤一只小鸟可以将法力值的上限增加B,每次到下一棵树时候,法力值会恢复X(但是不会超过上线),初始时的法力值和上限都是W. 分析 emmm这个题我不会,但感觉真的棒!乍一看很像背包有没有!一开始我想dp[a][b]表示在状态(a,b)时捉到小鸟的最大值,(a,b)代表第a棵树,当前法力值为b,法力值的上限可以通过捉到的小鸟数得到,那…
题意 给出一个只含有1和2的序列,有n个元素,可以选择一段区间进行翻转操作,求再反转后的最大非递减子序列的长度 分析 太菜了只想出了N^2的做法.序列只有1和2,那么每个非递减子序列都会有一个分界点,在分界点前是1以后是2.观察可以发现,只有当翻转的区间包含这个分界点的时候,这个分界点的非递减子序列的长度才会发生变化.定义dp[i][j]为反转区间i,j,且分界点在区间i,j的最长非递减子序列的长度. #include <cstdio> #include <cstring> #in…
感觉这个题不错,对拓扑排序有了更深的了解,用两种拓扑排序都写了些试试. dfs #include <cstdio> #include <algorithm> #include <iostream> #include <cstring> #include <vector> using namespace std; +; char s[maxn]; vector<int>G[maxn]; int n,m; ]; int vis[maxn]…
An arithmetic progression is such a non-empty sequence of numbers where the difference between any two successive numbers is constant. This constant number is called common difference. For example, the sequence 3, 7, 11, 15 is an arithmetic progressi…
题意 你需要构造一个n个点m条边的无向有权图,要求这个图的MST中边权的和与从1到n的最短路长度都为素数 分析 可以想到这样一种贪心,在i到i+1直接连一条边,这样最短路和MST都会是同样的一些边.只要保证他们的和为素数就好,对于其他的边(n-m+1)只要把他们的长度设为INF就好…
题意:  题目给出两个整数n,k,(n<=10^18,k<=10^5),求一个含有k个整数的序列,要求以2为底,以序列内数字为幂的和为n,其中序列内最大的数最小,若有多个序列满足条件,输出字典序最大的一个. 样例:input :23 5 output:Yes  3 3 2 1 0  ,其中2^3+2^3+2^2+2^1+2^0=23=n 分析 两个点:1:2^n=2*2^n-1,也就是说答案序列中任何一个数x都可以变为两个x-1           2: 结合二进制化十进制的方法,可以得到用2…
DSU on tree 在之前的一次比赛中,学长向我们讲了了这样一个神奇的思想:DSU on tree(树上启发式合并),看上去就非常厉害--但实际上是非常暴力的一种做法;不过暴力只是看上去暴力,它在处理不带修改的子树统计问题时有着优秀的时间复杂度\(O(Nlog N)\),显然在处理这一类问题上,它是优于我们常用的\(dfs\)序后莫队,更关键是它十分好写. 算法实现: 首先对所有轻儿子的子树信息进行统计,然后暴力擦除所有轻儿子的影响.再统计重儿子为根的子树信息,并将轻儿子的信息合并起来,加上…
地址:http://acdream.info/onecontest/1014   都是来自Codeforce上简单题.   A. Boy or Girl 简单字符串处理   B. Walking in the Rain 每次能移动1或2的距离. 答案为,ans = min{ max{e(i), e(i+1)} (其中i从0->n-1) };   C. Cutting Figure 输入为一个nxm的矩阵,#都是连通区域,考虑4连通,去掉最少的#让#区域不连通. 首先说明,在矩阵中一个#的连接最少…
又水了一发Codeforce ,这次继续发发题解顺便给自己PKUSC攒攒人品吧 CodeForces 438C:The Child and Polygon: 描述:给出一个多边形,求三角剖分的方案数(n<=200). 首先很明显可能是区间dp,我们可以记f[i][j]为从i到j的这个多边形的三角剖分数,那么f[i][j]=f[i][k]*f[j][k]*(i,j,k是否为1个合格的三角形) Code: #include<cstdio> #include<iostream> #…
最近做了好多CF的题的说,很多cf的题都很有启发性觉得很有必要总结一下,再加上上次写题解因为太简单被老师骂了,所以这次决定总结一下,也发表一下停课一星期的感想= = Codeforces 261E Maxim and Calculator 描述:有两个变量a和b,初始值为1和0,每次有两种操作,一个是a=a*b,另一个是b++,求有多少个l<a<r能在p步内达到(p<=100,r<1e9) 首先观察到p最大为100,也就是说最大质因数小于p,打表可得一共大概只有300万个数 考虑d…
先尽量做Div 1 A B 想做难题时做C 全天学竞赛时每天至少两道Div2 (算法数据结构没学的先过,题面很长的......也先过  我的英语啊...)…
C. Below the Diagonal You are given a square matrix consisting of n rows and n columns. We assume that the rows are numbered from 1 to n from top to bottom and the columns are numbered from 1 to n from left to right. Some cells (n - 1 cells in total)…
在TechFlow学长的公众号里发现一道挺有意思的CF算法题,现在利用学长的思路学习一下 题目链接:https://codeforces.com/contest/1418/problem/C 题意 这道题的题意也很有意思,背景也是游戏.说是有一天你和你的基友一起在家打游戏,这个游戏一共有n个boss.这些boss的难度不同,有些boss简单,有些boss困难.你的技术要比基友的好一些,你们两人轮流打boss. 游戏规定每次进行游戏最少打1个boss,最多打两个boss.由于你的实力更好,你可以战…
今晚发了个蛇精病,然后CF了,第一题这好难啊,然而水题一个,暴力飘过. 链接http://codeforces.com/contest/593/problem/A: 题意比较难懂吗?傻逼百度都翻译不对,更别说我这22了,但后来还是看懂了,没办法,就这么任性. 题意是给你N个串,然后让你选这选串中的几个要求是最后有这几个串组成的串就只有最多两个不同的字符构成,并且要最长. 那么开始分析,因为就26个因为字母爆力求一下枚举不同组合就行了,然后再从所给的字串中找符合要求的字串,用maxx记录最大值,开…
题目链接:http://codeforces.com/contest/507/problem/C 解题报告:现在有一个满二叉树型的迷宫,入口在根结点,出口在第n个叶节点,有一串命令,LRLRLRLRLR.....,L表示当前向左走,R表示现在向右走,然后如果碰到如果下一步的点是已经走过的,则跳过这条命令,如果下两步都是走过的话,则回到该节点的父节点.问从根结点走到出口一共到过多少个节点,包括出口节点,不包括根结点. 这是一棵满二叉树,现在假设出口的E那个点,从1出发,向左走,很显然,出口跟我现在…
C time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output After making bad dives into swimming pools, Wilbur wants to build a swimming pool in the shape of a rectangle in his backyard. He has set u…
http://codeforces.com/contest/702 题意:人到邮局去,距离d,汽车在出故障前能跑k,汽车1公里耗时a,人每公里耗时b,修理汽车时间t,问到达终点最短时间 思路:计算车和人的平均速度,谁快用谁,最后特判<=k的距离 // #pragma comment(linker, "/STACK:102c000000,102c000000") #include <iostream> #include <cstdio> #include &…
A. Wet Shark and Odd and Even time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Today, Wet Shark is given n integers. Using any of these integers no more than once, Wet Shark wants to get ma…
题目例如以下: B. Football Kit time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Consider a football tournament where n teams participate. Each team has two football kits: for home games, and for aw…
C. Ordering Pizza It's another Start[c]up finals, and that means there is pizza to order for the onsite contestants. There are only 2 types of pizza (obviously not, but let's just pretend for the sake of the problem), and all pizzas contain exactly S…
Bran and his older sister Arya are from the same house. Bran like candies so much, so Arya is going to give him some Candies. At first, Arya and Bran have 0 Candies. There are n days, at the i-th day, Arya finds ai candies in a box, that is given by…
这道题提醒我两点: 1.break时一定要检查清楚 2.字符串直接赋值一定要注意结束符,最好能用strcpy 以上是debug的惨痛教训 #include <iostream> #include <string> #include <cstring> #include <cstdlib> #include <cstdio> #include <cmath> #include <algorithm> #include <…
题意   在一个DAG上面有N个点M条边,每一条边上都有一个小写字母.两个人Max and Lucas 每个人一颗棋子,两个人轮流行棋,当前这一步选择的路上面的字母必须大于等于上一步路上面的字母,当轮到一个人她无法行棋时她便输了.每个人行棋时走会走最优情况.输出所有两个人初始位置的输赢情况. 分析 记忆搜索:dp[u][v][c]当前先手在点u,后手在点v,能走的字母大于等于c:先手胜利则dp[u][v][c]=1否则dp[u][v][c]=0;   若G[u][x]=c2,且c2>=c,则if…
C. Load Balancing time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output In the school computer room there are n servers which are responsible for processing several computing tasks. You know the…
问题 C: 奇袭 时间限制: 1 Sec  内存限制: 256 MB 题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而UW马上 要迎来最终的压力测试——魔界入侵. 唯一一个神一般存在的Administrator被消灭了,靠原本的整合骑士的力量 是远远不够的.所以爱丽丝动员了UW全体人民,与整合骑士一起抗击魔族. 在UW的驻地可以隐约看见魔族军队的大本营.整合骑士们打算在魔族入侵前 发动一次奇袭,袭击魔族大本营! 为了降低风险,爱丽丝找到了你,一名优秀斥候,希望你…
Note that this is the first problem of the two similar problems. You can hack this problem only if you solve both problems. You are given a tree with nn nodes. In the beginning, 00 is written on all edges. In one operation, you can choose any 22 dist…
题意:给出n个人(n是奇数),s钱:s为总的可以付工钱的钱: 每一个工人有一个付工钱的区间,只要在这个区间范围内,随便一个数都可以当作给这个工人付了钱: 老板要付给每个工人钱,并且付钱的中位数要尽可能大: 问:最大的中位数是多少: 思路:贪心+思维+二分: 我们以中位数为主体进行二分.那么就需要n/2+1个大于等于中位数的数: 这个时候我们先给钱排序,按第一个数从大到小排: 然后check部分,从1到n遍历,如果满足x在区间范围内,就取x这个数: 那么,为什么就要取这个数呢,因为我们迟早要凑到n…
C. New Year Snowmen time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output As meticulous Gerald sets the table and caring Alexander sends the postcards, Sergey makes snowmen. Each showman should cons…