Codeforces
feng_zhiyu
这个作者很懒,什么都没留下…
展开
-
【Codeforces Round #459 (Div. 2)】
A - Eleven 题意:斐波那契数列,给定n,输出一个仅由’O’和’o’组成的串(第i个(i 为fib数)字符是’O’,其他是‘o’) 分析:预处理,输出B - Radio Station 题意:n个名字(名字不唯一)和IP(IP是唯一的),m次询问, 格式:name IP; 对应每次询问在后面添加 #原IP对应的名字 分析: 使用map或者结构体C - The Monst原创 2018-01-30 17:19:38 · 330 阅读 · 0 评论 -
【Codeforces Round #469 (Div. 2)】C. Zebras(贪心,思维)
http://codeforces.com/contest/950/problem/C 题意: 给长为n(<=2e5)由0,1组成的字符串,求分割成以0开头和结尾并且0,1交替出现的若干个字符串,要求它们的位置是递增的。分析: 贪心, 赛时各种特判,因为写的代码 太烂,然后就卡在第八组数据。 改不动了,改完后最坏情况下复杂度成了O(n^2)而大多数大佬 代码比较优美 使用v...原创 2018-03-09 21:45:12 · 319 阅读 · 0 评论 -
【 Codeforces Round #462 (Div. 2)】C - A Twisty Movement
题目链接 题意:一个长为n(<=2000)只由1或2组成的序列,可以将一段区间【l,r】的元素反转, 求反转后的非递减子序列的最长长度int main(){ int n; while(~scanf("%d",&n)) { int a=0,ab=0,aba=0,abab=0; rep(i,0,n) {...原创 2018-02-14 23:52:47 · 545 阅读 · 1 评论 -
【 Codeforces Round #462 (Div. 2)】B. A Prosperous Lot
题目链接分析:k>36 ,输出-1, <36 , 根据k的奇偶性输出Code:int main(){ int k; while(cin>>k) { if(k>36) puts("-1"); else { for(int i=0; i&l...原创 2018-02-14 23:48:20 · 366 阅读 · 0 评论 -
【Codeforces Round #462 (Div. 2)】A - A Compatible Pair
题意:给定序列A和序列B,Tommy从序列A中隐藏(删掉)一个元素, Banban从序列A和B中分别取出一个元素,他们的乘积a[i]*b[j],Tommy尽量使它们小, Banban尽量使它们更大。 求乘积的结果 -10^9<=Ai,Bi<=10^9 , 序列长度n,m范围是[1,50]分析:被叉得飞起的一题。 自己也被叉了。。 xg.. 可以把所有的乘积结果存起来,排序...原创 2018-02-14 23:44:20 · 441 阅读 · 0 评论 -
【Codeforces Round #460 (Div. 2) D - Substring】(拓扑排序判环+树形dp / dfs判环+记忆化)
链接:http://codeforces.com/contest/919/problem/D 题意:给你一个n个点m条边的有向图,每一个顶点都对应一个字母,定义一条路径的价值为:从一个顶点开始这条路径上出现的字母的最多次数。题目要求输出这个图的最大价值。如果存在环就输出-1.分析: 拓扑排序判环 + dp 拓扑排序 : 由AOV网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到原创 2018-02-01 18:45:19 · 336 阅读 · 0 评论 -
【Codeforces Round #460 (Div. 2) C - Seat Arrangements】(模拟)
链接:http://codeforces.com/contest/919/problem/C 题意:给定n*m的矩形,只由’*’ 和’.’组成,’.’代表空座,问能找到多少种连续(只能是横着或者竖着)的k个座位的方案?分析: 模拟 或者前缀和 注意:k=1时这种情况 暴力。 事实证明我需要学习暴力, 暴力的姿势。。 复杂度O(n^2) 代码:#include using原创 2018-02-01 17:24:58 · 321 阅读 · 0 评论 -
【codeforces 】Educational Codeforces Round 36 (Rated for Div. 2)(C.模拟 D.拓扑排序判断环)
C Permute Digits 题意:给你一个数小于1e18 a和b,输出不大于b的数a,a是经过任意重新排放的。 分析:模拟 + 思维题 若a的长度比b小,直接输出字典序最大的; 否则,sort排序,然后从前往后两两交换,直到a>b#include using namespace std;#define mem(a,n) memset(a,n,sizeof(a))#de原创 2018-01-29 23:58:29 · 355 阅读 · 0 评论 -
【Educational Codeforces Round 40】D - Fight Against Traffic (最短路,disjkstra)
题意: 给n个点,m条边,起点s,重点t,保证s到t的最短路径不变的情况下,求加一条边的方案数分析: 看了半天题意, 才看明白说的是什么。 通过disjkstra求s和t到其他点的最短距离,然后如果两个点之间的距离之和+1不小于s到t的距离,方案数+1,具体表达见代码#include <bits/stdc++.h>using namespace std;#defin...原创 2018-03-26 21:51:03 · 355 阅读 · 0 评论