随笔分类 - OJ-codeforces
摘要:【链接】: "CF/4892" 【题意】: 一个人解决n个问题,这个问题的值比k小, 每次只能解决最左边的或者最右边的问题 解决了就消失了。问这个人能解决多少个问题。 【代码】: include define PI acos( 1.0) define pb push_back define F fi
阅读全文
摘要:【链接】: "CF" 【题意】:给你一个只含有括号的字符串,你可以将一种类型的左括号改成另外一种类型,右括号改成另外一种右括号 问你最少修改多少次,才能使得这个字符串匹配,输出次数 【分析】: 本题用到了栈。如果遇上左括号,就加进栈里。如果遇上右括号,就判断栈里的左括号是否和它匹配,不匹配就加一。不
阅读全文
摘要:【链接】: "CF" 【题意】: 给你一个字符串只包含'(' 、‘ )’ 、‘ ?’三种字符,?你可以按需求转换成‘(’或’)‘ 定义一个区间为正确的括号序列,当且仅当对该区间进行如下操作之后,该序列为空: 每次删除序列中一对相邻的左右括号(),直到删到不能再删 Input 一个长度不超过5000的
阅读全文
摘要:【链接】: "CF" 【题意】: 给出n个字符串,保证只包含'('和')',求从中取2个字符串链接后形成正确的括号序列的方案数(每个串都可以重复使用)(像'()()'和'(())'这样的都是合法的,像')('和'('这样的是不合法的) 输入: 第一行一个整数n 第二行到第n+1行每行一个字符串 输出
阅读全文
摘要:【链接】: "CF" 【题意】:对任意一个数a[i] ,可以对任意 满足 i != j 且 a[i] a[j] && a[i] include include include include include include include include include include includ
阅读全文
摘要:【链接】: "CF" 【题意】:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价。 【分析】:分情况讨论,自己多举几个栗子。 【代码】: include include include include include include include include inc
阅读全文
摘要:"CF" A. Party time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard output A company has n employees numb
阅读全文
摘要:``` #include using namespace std; const int maxn = 1e5 + 10; const int mod = 142857; int t,n,m,k,x,u,v,w,num,flag; vector G[maxn]; int inDeg[maxn], ruDeg[maxn]; int virus[maxn]; queue q; bool topS...
阅读全文
摘要:【链接】: "CF" 【题意】:n组样例,对于每组样例,给你三个数p q b,问你p/q在b进制下是不是一个有限小数,是的话输出Finite,否则输出Infinite。 【分析】:b的过程是对q约分,那么只要b包含q全部的因子即可。考虑1/q,一定是一个小于等于1的数,考虑将小数转化为b进制的过程,
阅读全文
摘要:【链接】: "CF982C" 【题意】:有一颗树,你需要切掉一些边,使这颗树分拆成若干个节点为偶数的联通分量,最多能切掉几条边。若不能切,输出 1。 【分析】: 1.若点数n为奇数,因为奇数不可能分为偶数,那么一定输出 1 2.若点数n为偶数,偶数=偶数+偶数。就从顶点1开始,当作父顶点开始dfs。
阅读全文
摘要:【链接】: "CF" 【题意】:从一堆数中选一个最大子集,使得任意两个数相减的绝对值都是2的幂。 【分析】:首先很难的一点,需要想到子集最多只能有三个,四个及以上的子集一定不存在(可以证明)。当有三个元素时,则必有其中两对元素之差相等。 【代码】: include using namespace s
阅读全文
摘要:【链接】: "CF" 【题意】:给定一棵树,要求拆成若干条简单路径,并且这些路径都经过一个公共节点。给出任意一个解决方案,如不存在输出No。 【分析】: 【代码】: include using namespace std; int n; int deg[100005]; // 每个点的度数 int
阅读全文
摘要:【链接】: "CF988C" 【题意】:在n个序列中任选两个序列,两个序列都除去他们中的一个数,使的总和相同 【分析】:map mp,从0~m遍历删除第i个数,mp[sum a[i]]={j+1,i+1}; 其中key是记录删掉某个数的剩下的数,value是一对以行列号用来确定位置以方便输出。若删掉
阅读全文
摘要:【链接】: "CF" 【分析】: 设上车前人数 x ,中途最大人数为 x+max ,最小人数为 x+min (max≥0,min≤0) 可得不等式组 x+max≤w, x+min≥0 整数解个数 为 max(0,w max+min+1) 求出 max,min 即可,有求和~记得long long 【
阅读全文
摘要:【链接】: " CF978C " 【分析】:在前缀和数组种二分找到 =询问数的位置,根据位置就好操作了 【代码】: include using namespace std; const int INF = 0x3f3f3f3f; define ll long long define ms(a,b)
阅读全文
摘要:"CF978B File Name" 【分析】:设置计数器cnt,计数x的个数;遇到非x,若cnt =3的话累加多出的个数,计数器清零;若最后cnt =3说明没遇到非x无法清零,那后部分就都是x,输出ans+=cnt 2 【代码】: include using namespace std; cons
阅读全文
摘要:【链接】: "CF978A" 【分析】:逆向思考+标记数组去重 【代码】:
阅读全文
摘要:【链接】: "CF987C" 【分析】:先求出每个s【i】后面比s【i】大的c【i】的最小值,然后枚举前两个数c(i),c(j)以及 j 后面 递增且存在最小值 的dp(j) 【代码】: include using namespace std; const int INF = 0x3f3f3f3f;
阅读全文
摘要:【链接】: "CF987A" 【分析】:运用map 【代码】: include include include include using namespace std; define N 100010 define M 2005 const int INF = 0x3f3f3f3f; define
阅读全文
摘要:【链接】 "CF985B" 【题意】:给n盏灯,m个开关,每次按开关只能将灯从灯灭的状态转变为灯亮,问是否存在 不按所有开关 就将所有灯打开的方法。 【分析】:有两种办法,一种代码复杂点,容易想到枚举去掉每一行,看看能不能有一行去掉后保证其他的每一列至少有一个1,注意如果去掉某行后有一列为0则这一行
阅读全文

浙公网安备 33010602011771号