ICode9

精准搜索请尝试: 精确搜索
  • Codeforces Round #562 (Div. 2)2019-07-03 21:54:35

    A - Circle Metro 模拟几百步就可以了。   B - Pairs 爆搜一下,时间复杂度大概是 $O(4 * n)$ Code: 56306723   C - Increasing by Modulo 二分答案,然后验证一下就好了,第一个数越小越好,之后的数都要求和前一个相等或者大一点。复杂度 $n * log(n)$   D - Good Triple 对于每一个

  • CodeForces 1016B B.Segment Occurrences2019-07-03 20:28:10

    题目链接   暴力解,对字符串先进行预处理,求出字符串t的前缀和。 不可将1记在配对的字符串末尾,因为出现错误,abacabadabacaba    ba  3 4若用1记在末尾则对出现错误。   #include<stdio.h> #include<math.h> #include<string.h> #include<algorithm> using namespace std;

  • Educational Codeforces Round 2 E. Lomsat gelral(dsu)2019-07-03 16:44:01

    题目链接 题意:给你一棵以1为根n个点的树,问你以i为根的子树的众数和是多少 思路:dsu是一种优化暴力的手段 首先进行轻重链剖分 然后只记录重链的信息 轻链的信息就直接暴力查找 经过证明这样复杂度可以是nlogn。 #include<bits/stdc++.h>#define ll long long intusing namesp

  • Educational Codeforces Round 67 E.Tree Painting (树形dp)2019-07-03 13:47:54

    题目链接  题意:给你一棵无根树,每次你可以选择一个点从白点变成黑点(除第一个点外别的点都要和黑点相邻),变成黑点后可以获得一个权值(白点组成连通块的大小) 问怎么使权值最大 思路:首先,一但根确定了,整棵树的权值就只需要模拟即可,所以思路就转换为求哪一个点为根的权值最大。 这题

  • Codeforces Round #571 (Div. 2)2019-07-03 09:49:39

    Codeforces Round #571 (Div. 2) D. Vus the Cossack and Numbers Description Vus the Cossack has nn real numbers aiai. It is known that the sum of all numbers is equal to 00. He wants to choose a sequence bb the size of which is nn such that the sum of

  • Codeforces 1150D(字符串dp)2019-07-02 23:40:39

    反思 三维的dp压根没看出来,看题解以后思路又很直观,找几道字符串dp练练才行 序列自动机和优化一维略 /* __ __ * ____| |_____| |____ * | | * | __ | * | | * | > <. | * |

  • Educational Codeforces Round #672019-07-02 12:04:04

    这一场的D题真的好惨烈.......FST了几百人qwq......... 题目链接:戳我 A Stickers and Toys 一个egg里面有可能仅有toy,或者仅有sticker,或者两者都有.给你egg,toy,sticker的数量,你不知道具体每个egg里面的情况.现在问你最坏情况下至少要砸开多少个egg,才能获得至少一个toy和一个s

  • CodeForces - 598E 记忆化搜素实现dp2019-07-02 10:02:44

    链接:https://vjudge.net/contest/308522#problem/A 题意:题目大意:一块n*m的巧克力,要吃掉k块。我们通过沿横线或者竖线划分巧克力的方式来得到k块巧克力。沿横线分割巧克力的代价是巧克力的横线长的平方(j2j2),沿竖线分割巧克力的代价是巧克力的竖线长的平方(i2i2),问要吃到k块巧克力的

  • Codeforces 1172C2 Nauuo and Pictures (hard version dp2019-07-01 21:03:35

    Nauuo and Pictures (hard version 首先考虑简单版本的, 一个一个dp求出来, 分成三坨, 一坨当前要求照片, 一坨除了当前的喜欢的照片, 一坨除了当前的讨厌的照片。 单次dp   50 ^ 4 感觉hard的也挺简单的。。  我们先算出最后喜欢的照片的总w, 和讨厌的照片的总w, 然后每个的贡献就是在

  • Educational Codeforces Round 67 (Rated for Div. 2)2019-07-01 19:54:02

    A 略 B 记录每种字母的出现次数前缀和,然后p[i][j]表示字母j出现至少i次的最靠前的位置,然后直接搜取最大即为答案,O(26(n+m)+Σ|ti|),差点想到二分去了,复杂度会多个log #include<bits/stdc++.h>using namespace std;const int N=2e5+7;int n,s[N][26],p[N][26],sum[26];char str[N];

  • CodeForces 903E Swapping Characters2019-07-01 09:43:49

    Swapping Characters 题解: 先算出其他串和第一个串的字母个数是否相同。 再算出其他串和第一个串不同的字母位置个数。 然后枚举第一个串交换的位置。 计算交换之后的不同字母的位置个数。 如果个数为0,则至少有2个相同的字母。 如果个数为2,则说明交换那2个位置之后可以相同。   代

  • Codeforces Contest 457 C Elections( 三分)2019-06-30 22:26:44

    题意: 有n个人要投票,第i个人会投给第ai个人。你是第0个人,你需要收买一些人使得最终你的票数比任何人的票数都多。第i个人需要bi块钱去收买。 思路: 这道题不能使用二分,因为票数与话费不成线性关系。这道题目要运用三分知识点 三分学习: https://blog.csdn.net/Littlewhite520/a

  • Codeforces Round #568 (Div. 2)2019-06-30 21:50:47

    B. Email from Polycarp 题意:给定一个原串 一个输出串   因为键盘问题  按键按一下可能出现多个   判断原创和输出串是否匹配 如  hello  和 heellooooooo  是匹配的   指针扫一遍即可  优先级  原串大于last  #include<bits/stdc++.h>using namespace std;//input by

  • Codeforces Round #501 (Div. 3) F. Bracket Substring2019-06-30 16:39:35

      https://codeforces.com/problemset/problem/1015/F   dp '求包含某个子串的个数' 类型   kmp     ///it is advised that all character begins at index 1   1 #include <cstdio> 2 #include <cstdlib> 3 #include <cmath> 4 #include <cstring>

  • codeforces & topcoder 指南2019-06-30 13:02:36

    转自 -- https://blog.csdn.net/birdy_/article/details/89743006 昨天晚上刷了这两个网站的两个比赛……稍微记一下新手入门吧。 codeforces & topcode 介绍共同点首先这两个网站比赛的操作应该都是通过测试样例,hack别人,然后系统数据测试。我在猜测测试样例是不是就是测试数据…

  • Codeforces 11862019-06-30 12:04:09

    A. 水题。略。 B. (Aborted) 给你一个 \(n*m\) 的矩阵,你可以用 \(1*2\) 的砖铺满矩阵,但要求砖与砖之间不能有公共边或公共点。求最多能放几块砖。 解 看上去只要这样放就可以了: <>.<>.^ ......v <>.<>.. ......^ <>.<>.v 但是你有没有考虑过 \(5*6(ans=7)\) : <>.^.^ ...v.v <>....

  • Codeforces Round #571 (Div. 2)-D. Vus the Cossack and Numbers2019-06-30 12:03:52

    Vus the Cossack has nn real numbers aiai. It is known that the sum of all numbers is equal to 00. He wants to choose a sequence bb the size of which is nn such that the sum of all numbers is 00 and each bibi is either ⌊ai⌋⌊ai⌋ or ⌈ai⌉

  • Codeforces 353E 贪心2019-06-29 18:54:07

    题意:给你一张有向图,第i条边连接i号点和(i + 1) % n号点,问最多可以选择多少个点,使得这些点互相不可达。 思路:容易发现,如果某个边的集合点的数目大于等于2,那么就可以选出一个点,当然也可以出现多个1条边的集合相邻的情况(假设有m个),那么可以选择m / 2条边。 代码: #include <bits/stdc++

  • Codeforces 1186F - Vus the Cossack and a Graph 模拟乱搞/欧拉回路2019-06-29 13:00:13

    题意:给你一张无向图,要求对这张图进行删边操作,要求删边之后的图的总边数 >= ceil((n + m) / 2), 每个点的度数 >= ceil(deg[i] / 2)。(deg[i]是原图中i的度数) 思路1:模拟 + 乱搞 直接暴力删就行了,读入边之后随机打乱一下就很难被hack了。 代码: #include <bits/stdc++.h>#define LL lo

  • Codeforces Round #571 (Unrated for Div. 1+Div. 2)2019-06-28 19:00:06

    A 略 B 被删了,被这个假题搞自闭了,显然没做出来。 C 开始莽了个NTT,后来发现会TLE,其实是个SB前缀和,对于这题,我无**说。 #include<bits/stdc++.h>using namespace std;const int N=1e6+7,mod=998244353;int n,m,ans,sum,s[N];char a[N],b[N];int main(){ scanf("%s",a+1),n=strle

  • Codeforces 294E Shaass the Great 树形dp2019-06-27 20:01:13

    Shaass the Great 枚举删掉的边, 我们考虑如何将两个团连起来最优, 显然这是两个独立的问题, 两个团内分别选一个最优点连起来就好了。 用每条边的贡献取计算答案, 然后用树形dp去计算连在那个点最优, 考虑改变连接点改变所带来影响就不难写出dp了。 #include<bits/stdc++.h>#define LL

  • Codeforces Round #570 (Div. 3) B. Equalize Prices2019-06-27 19:02:48

    #include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>#include<set>#define ll long longusing namespace std;const int maxn = 200010;const int inf = 0x3f3f3f3f;int main(){ int t; cin &

  • Codeforces 1180E Serge and Dining Room2019-06-26 15:50:06

    题意: 有\(n\)个菜肴,有\(m\)个小朋友,每个菜肴的价格为\(a_i\),每个小朋友有\(b_i\)元钱,小朋友从\(1 \rightarrow m\)依次购买菜肴,当第\(i\)个小朋友轮到的时候,他会购买他买的起的最贵的,否则就离开。 要求支持修改第\(i\)个菜肴的价格和修改第\(i\)个小朋友的拥有的钱数的两种操作,每次

  • Codeforces 567F Mausoleum dp2019-06-26 12:41:48

    Mausoleum 考虑将数字从大到小一种一种填进去, 新加入的数字只会在之前组成序列的两侧, 所以形状一直是连续的一段。 dp[ k ][ i ][ j ] 表示填入了前 k 大的数字, 它们位于i - j 的合法方案数, 转移的时候check一下能否转移。 #include<bits/stdc++.h>#define LL long long#define LD

  • Codeforces Round #564 (Div. 1)2019-06-25 18:40:33

    Codeforces Round #564 (Div. 1) A Nauuo and Cards 首先如果牌库中最后的牌是\(1,2,\cdots, k\),那么就模拟一下能不能每次打出第\(k+i\)张牌。 然后考虑每一张牌打出后还要打多少张牌以及这张牌是什么时候入手的,分别记为\(f_i,g_i\),那么答案就是\(f_i+g_i\)的最大值。 #include<bi

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有