CF #375 (Div. 2) D. bfs】的更多相关文章

1.CF #375 (Div. 2)  D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多少个湖,然后输出. #include<bits/stdc++.h> #define F(i,a,b) for (int i=a;i<b;i++) #define FF(i,a,b) for (int i=a;i<=b;i++) #define mes(a,b) memset(a,b,s…
1.CF #376 (Div. 2)    C. Socks       dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需要高效的随即存取,而不在乎插入和删除的效率,使用vector . (2)如果需要大量的插入和删除,而不关心随即存取,则应使用list . #include<bits/stdc++.h> #define F(i,a,b) for (int i=a;i<b;i++) #define FF(i,a…
1.CF #374 (Div. 2)   D. Maxim and Array 2.总结:按绝对值最小贪心下去即可 3.题意:对n个数进行+x或-x的k次操作,要使操作之后的n个数乘积最小. (1)优先队列 #include<bits/stdc++.h> #define F(i,a,b) for (int i=a;i<b;i++) #define FF(i,a,b) for (int i=a;i<=b;i++) #define mes(a,b) memset(a,b,sizeof(…
1.CF #374 (Div. 2)    C.  Journey 2.总结:好题,这一道题,WA,MLE,TLE,RE,各种姿势都来了一遍.. 3.题意:有向无环图,找出第1个点到第n个点的一条路径,经过的点数要最多. #include<bits/stdc++.h> #define F(i,a,b) for (int i=a;i<b;i++) #define FF(i,a,b) for (int i=a;i<=b;i++) #define mes(a,b) memset(a,b,…
1.CF #371 (Div. 2)   C. Sonya and Queries  map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的匹配. #include<bits/stdc++.h> #define max(a,b) a>b?a:b #define F(i,a,b) for (int i=a;i<=b;i++) #define mes(a,b) memset(a,b,sizeof(a)) #define INF…
题目链接:CF #365 (Div. 2) D - Mishka and Interesting sum 题意:给出n个数和m个询问,(1 ≤ n, m ≤ 1 000 000) ,问在每个区间里所有出现偶数次的数异或的值. 思路:容易想到,把区间内的所有的数都异或得到的是出现奇数次的数的值,然后再异或该区间内的所有出现过的数(每个数只统计一次),得到的ans了. 第一个问题:得到询问区间的所有数的异或值,由 a[1~r] ^ a[0~(l-1)] = a[l~r] 可以用数组all_xor[i…
转载自:http://www.cnblogs.com/icode-girl/p/5744409.html 题目链接:CF #365 (Div. 2) D - Mishka and Interesting sum 题意:给出n个数和m个询问,(1 ≤ n, m ≤ 1 000 000) ,问在每个区间里所有出现偶数次的数异或的值. 思路:容易想到,把区间内的所有的数都异或得到的是出现奇数次的数的值,然后再异或该区间内的所有出现过的数(每个数只统计一次),得到的ans了. 第一个问题:得到询问区间的…
题意:给出 n.m 两数,可以对 n 进行两种操作 减一或者乘二,操作过程中 n 必须保证非负,问使 n 变为 m 至少需要几步操作. 这是我练水题的时候做到的,题目不难,只是我 bfs 一直没怎么用过比较不熟练,RE 了两发,就整理了这题. 首先,若 n==m ,那么步骤数就是 0 ,而若 n > m ,n 进行乘二的操作就会使 n 离 m 更远,所以必然是一直减一,于是步骤数就是 n -m : 若 n < m , 此时由于中间的步骤并不确定,就可以用 bfs 搜索,但是由于使用数组记录某个…
A: 我是bfs出一颗树,然后删掉树后面的k个结点. 其实也可以直接bfs出一块连通的s - k个点,其余的.打X就可以了. 很水的题目. /* *********************************************** Author :kuangbin Created Time :2013-12-29 23:26:26 File Name :E:\2013ACM\CF比赛\CF222\A.cpp ***************************************…
/*题意:一个数,就是输入的第一个数,让它变成第二个数最少用几步.可以点红色按钮,蓝色按钮来改变数字,红色:*2,蓝色:-1,如果变成负数,就变成原来的数.CF 520 B. Two Buttons思路:当然是*2可以掠过的步数更少啦,如果n是输入,m是输出. 如果n大于m,不能使用红色按钮,很容易看出,步数就是n-m. 如果n比m小,如果m是偶数的话,m/2,如果m是奇数,m+1,这样一直循环判断n是不是还比m小,不符合就跳出循环,进入第一个如果.*/ /*正向BFS #include<ios…
unrated 选手悠闲做题,然后只做出四个滚蛋了 符合 div3 一贯风格,没啥难算法 E最后就要调出来了,但还是赛后才A的 CF1343A Candies 传送门 找到一个 \(x\),使得存在一个正整数 \(k>1\),满足 \(\sum_{i=0}^{k-1}2^i x=n\) 给定 \(n\) \[\sum_{i=0}^{k-1}2^i x=n\Rightarrow 2^k-1=\frac{n}{x} \] 那么我们只要枚举 \(x\in[1,\sqrt n]\),如果 \(x\mid…
[#138 div 1 A. Bracket Sequence] [原题] A. Bracket Sequence time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output A bracket sequence is a string, containing only characters "(", ")"…
D. Phillip and Trains time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output The mobile application store has a new game called "Subway Roller". The protagonist of the game Philip is located…
A 数轴上有三个人要到一个点去过年 使三个人走路距离的和最小  让两边的人都走到中间那个点即可 B 给出一个字符串 其中有_ ( ) 三种字符和英文字母 连续的英文字母是一个单词 括号对中不会套括号对 求 括号外最长的单词长度 括号内有多少单词 维护一个bool变量表示当前单词在不在括号内 res表示当前单词的长度 可见 _() 都是分隔符 C 给出一个节目表 其中有n个曲目 每一个ai 代表这个曲目由ai乐队演奏 但是某人只喜欢标号是1-m的乐队 现在他可以对每个节目的乐队进行更换 问 最少更…
 Two Buttons time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Vasya has found a strange device. On the front panel of a device there are: a red button, a blue button and a display showing s…
总结一下这场比赛,就是我太SB了.说多了都是泪. A,大水题. B,根据题意,可以肯定有一个城市是可以与所有城市相连的,直接找到该点然后输出该点与其他所有点相连即可. int x[111111] , y[111111] ,num ; bool vis[111111] ; int aa[111111] ,nn = 0 ; void antry(){ num = 0 ; int n , m ; cin >> n >> m ; mem(vis,0) ; for (int i = 0 ;i…
题目链接:http://codeforces.com/contest/1154/problem/E 题意:两个人轮流取最大值与旁边k个数,问最后这所有的数分别被谁给取走了 分析:看这道题一点思路都没有,想不到模拟链表也该能想到线段树的啊 大部分AC代码是模拟链表的,写起来也更快,但我线段树很不熟,线段树的代码也写一份吧 另外,以后要养成一种习惯,除了主函数定义int main里有int外,其他地方统一用ll了,不要自己给自己挖坑..... 线段树: 意识到是线段树后我建树部分就拿不准怎么做,事实…
2013-10-11 16:45 Rational Resistance time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mad scientist Mike is building a time machine in his spare time. To finish the work, he needs a resistor…
题目:http://codeforces.com/contest/986/problem/A 如果从每个村庄开始bfs找货物,会超时. 发现k较小.那就从货物开始bfs,给村庄赋上dis[ 该货物 ]. 但这样还是n^2.考虑有相同货物的村庄,其实可以一起bfs.就是多源bfs.这样就是n*k的了. 多源bfs就是把一些起始点的dis全赋了初值0,然后都放进队列里,之后正常bfs. #include<iostream> #include<cstdio> #include<cs…
B. Mike and Shortcuts time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Recently, Mike was very busy with studying for exams and contests. Now he is going to chill a bit by doing some sight…
Position:http://codeforces.com/contest/723 我的情况 啊哈哈,这次raiting肯定要涨,接受过上次的教训,先用小号送肉,大号都是一发切,重回蓝咯 结果... FST!! 不,这次是skip,A题gi了(从小号蒯来没改),其它就都会skip...... 大号被小号skip,大号还300多名(没WA),做不得卵声.结果小号rank408,+133raiting 恭喜LCFrank10,+279raiting 为了表示我被skip的愤怒,我决定用大号打Vit…
https://codeforces.com/contest/1037/problem/E 题意 有n个人,m天,在第i天早上,x和y会成为朋友,每天晚上大家都要上车,假如一个人要上车那么他得有至少k个朋友上车,输出每天晚上上车人数 题解 一个点的度数<k,他就上不了车 假如一个人上不了车,那么他对他的朋友就没有了价值,就等于把边去掉 离线处理,反着消边 因为每条边只能走一次,所以标记边bfs 代码 #include<bits/stdc++.h> #define MAXN 200005…
来两遍 $BFS,$ 都贪心一下即可. #include <bits/stdc++.h> #define maxn 300009 using namespace std; void setIO(string s) { string in=s+".in"; freopen(in.c_str(),"r",stdin); } queue<int>Q; int n,m,s,edges,nn=0; int hd[maxn],to[maxn<<…
序 ~ieowjf~~ 真的只有老邱在支持我吗(雾 #622 T1 此题做法显然,但是,不知为何,就是会评测机有小问题...无语 上 SingerCoder 的码,不知为何,我的码风总是毒瘤 #include<cstdio> using namespace std; inline void solve() { int a[4]; scanf("%d %d %d",&a[1],&a[2],&a[3]); int ans=0; for(int i=1;i…
序 闲来无事,打场CF,本人蒟蒻,考场A了前三道,第四有解答 正文 T1 Non-zero 是道水题.... 给你一个序列a.要求你输出最少的操作次数使这个序列的累和与累乘都不为0: 一次操作指给\(a_i\)+1. 我们的想法是先给每个零的+1,检查此时和是否为0,若为0,+1,否则直接输出答案 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int…
2021-01-29 题目链接: Educational Codeforces Round 103 (Rated for Div. 2) 题目 A. K-divisible Sum You are given two integers nn and kk. You should create an array of nn positive integers a1,a2,-,ana1,a2,-,an such that the sum (a1+a2+⋯+an)(a1+a2+⋯+an) is div…
A. The New Year: Meeting Friends 水 #include <set> #include <map> #include <stack> #include <queue> #include <cstdio> #include <vector> #include <cstring> #include <iostream> #include <algorithm> using…
传送门 分析:构造题.可以这么想:先把s,t两个点去掉,把剩下的点先并查集合并.这样会出现个集合:, , 个剩余集合.那么个集合中先把只能与或中一个相连的连起来,如果这样已经超出了要求,那么就不能构造.剩余的既能和又能和相连的集合就按照不超过,这两个要求相连,可以则,否则为.这样有一个特殊情况:就是或者可能只有一条边连向和,不知道有没有说清楚,就是对于只有或者对于只有.这个需要在最后进行特判. 代码: /**********************************************…
B. Clique Problem time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The clique problem is one of the most well-known NP-complete problems. Under some simplification it can be formulated as f…
A. Glass Carving time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Leonid wants to become a glass carver (the person who creates beautiful artworks by cutting the glass). He already has a re…