A;=w=

B:=w=

C:题意:有一排树,有的树已经上色,有的树没有上色,只能给没上色的树上色,一共m种颜色,不同的树上不同的色花费不同,涂完色后,连续颜色的树成为一段。对于给定的段数k,求出最小花费

分析:不是贪心就是dp,这很显然不是贪心

  f[i][j][k]表示前i个树,第i个树涂色是j,已经有k段树的最小花费

  如果第i个树未染色:f[i][j][k]=min(f[i-1][j][k]+v[i][j],f[i-1][j'][k-1]+v[i][j'])

  如果已经染色:f[i][j][k]=min(f[i-1][j][k],f[i-1][j'][k-1]) 注意没花费

  注意初始化

D:题意:n个点n条边的有向图,每条边可以改变方向,询问有多少种方法可以使得图中无环

分析:考虑下n个点n条边图的特征

首先能想到的是n个点n-1条边的树加条边成个环

    继续想想就会发现不可能存在复环,不然边数就不对了,也就是一个环套树

    考虑影响一个环的只有环上的点,所以如果假设环外的点有a个,那么对答案的贡献就是2^a

    再考虑环上,一般来说,只要环上一条边方向变了,那环就破坏了,但要注意特殊情况,也就是全部反向和全部不反向,所以如果环上点b个,那么对答案的贡献就是2^b  -2

最后要考虑的一点是,有可能是多个连通块,所有答案相乘就可以了

 至于实现,可以把所有单向边当作双向边,然后dfs跑一个连通块得出a+b,在跑dfs途中用个栈记录下点,然后重复时就递归栈得出b,所以a和b就都知道了

E:题意:求1-[A(2^n,k)/2^(nk)]的值,要求先约分,再模1e6+3

   分析:问题分两个,先是约分,再是模

整理下式子发现,分子分母的质因数只有2,所以最大公约数肯定是2^x

这个x取决于(2^n)!/(2^n - k)!的2的指数

求一个阶乘数中2的指数就那个logn算法 除2除4除8什么的辣

      第一个问题解决了

再解决第二个问题,分母可以暴力模,分子头疼的是那k个数乘积的模,因为k很大

注意到mod数很小,所以分子那项乘了mod数后结果就0了,就退出

最后乘上2^x逆元

  

Codeforces Round #369(div 2)的更多相关文章

  1. Codeforces Round #369 (Div. 2)---C - Coloring Trees (很妙的DP题)

    题目链接 http://codeforces.com/contest/711/problem/C Description ZS the Coder and Chris the Baboon has a ...

  2. Codeforces Round #369 (Div. 2) C. Coloring Trees(dp)

    Coloring Trees Problem Description: ZS the Coder and Chris the Baboon has arrived at Udayland! They ...

  3. Codeforces Round #369 (Div. 2) C. Coloring Trees(简单dp)

    题目:https://codeforces.com/problemset/problem/711/C 题意:给你n,m,k,代表n个数的序列,有m种颜色可以涂,0代表未涂颜色,其他代表已经涂好了,连着 ...

  4. Codeforces Round #369 (Div. 2) E. ZS and The Birthday Paradox 数学

    E. ZS and The Birthday Paradox 题目连接: http://www.codeforces.com/contest/711/problem/E Description ZS ...

  5. Codeforces Round #369 (Div. 2) D. Directed Roads 数学

    D. Directed Roads 题目连接: http://www.codeforces.com/contest/711/problem/D Description ZS the Coder and ...

  6. Codeforces Round #369 (Div. 2) C. Coloring Trees 动态规划

    C. Coloring Trees 题目连接: http://www.codeforces.com/contest/711/problem/C Description ZS the Coder and ...

  7. Codeforces Round #369 (Div. 2) B. Chris and Magic Square 水题

    B. Chris and Magic Square 题目连接: http://www.codeforces.com/contest/711/problem/B Description ZS the C ...

  8. Codeforces Round #369 (Div. 2) A. Bus to Udayland 水题

    A. Bus to Udayland 题目连接: http://www.codeforces.com/contest/711/problem/A Description ZS the Coder an ...

  9. Codeforces Round #369 (Div. 2) D. Directed Roads —— DFS找环 + 快速幂

    题目链接:http://codeforces.com/problemset/problem/711/D D. Directed Roads time limit per test 2 seconds ...

  10. Codeforces Round #369 (Div. 2) A. Bus to Udayland (水题)

    Bus to Udayland 题目链接: http://codeforces.com/contest/711/problem/A Description ZS the Coder and Chris ...

随机推荐

  1. SQL Server调优系列基础篇

    前言 关于SQL Server调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL 调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优. 通过 ...

  2. MFC MDI 主框架和标签页数据互操作

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  3. linux下mysql开启远程访问权限及防火墙开放3306端口

    默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法. 相对而言,改表法比较容易一点,个人也是比 ...

  4. Java Hello World例子和添加按钮事件与功能

    新建android工程,然后默认“下一步”即可完成创建: 2.添加Button 3.在src的MainActivity.java添加以下红色代码 import android.support.v7.a ...

  5. linux下使用g++编译cpp工程

    C++编程中相关文件后缀 1.单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: /* helloworld.cpp */ #includ ...

  6. cuda fft 计算

    #include <assert.h> #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  7. 石子合并[DP-N3]

    题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  8. java 常见数据类型

    int 4字节 -2 147 483 648-2 147 483 647(正好超过20亿) short 2字节 -32 768-32 767 long 8字节 -9 223 372 036 854 7 ...

  9. arr的高级用法

    arr的高级用法 reduce 方法(升序) 语法: array1.reduce(callbackfn[, initialValue]) 参数 定义 array1 必需.一个数组对象. callbac ...

  10. [No000029]程序员的那些事儿 -- 皆大欢喜的加薪

    我的朋友A君是个典型的.NET开发人员,技术不错,人品也不错,在一家小公司(姑且称为甲公司)做项目开发,是技术骨干. 3个月前,他找到我说想跳槽,让我帮忙介绍工作.我说为什么想跳了? 1. 为什么想离 ...