div.2

CodeForces 546B Soldier and Badges

给定n(<= 3000)个整数Ai,有一种操作:给某个数加1。问最少操作几次,使得n个数都不一样。

考虑这样一个问题:已知一个数组B,用上面的操作,把A变成B的最小代价怎么算。

一个最优的方法是,把A中最小的数变成B中最小的数,把A中次小的数变成B中次小的数...把A中最大的数变成B中最大的数。

所以做法就出来了。先把A数组排序,然后把A[i]变成max(A[i],B[i - 1] + 1)即可。(因为同样要保证变化完后B数组递增)

 1 #include <stdio.h>
 2 #include <algorithm>
 3
 4 int A[3000];
 5 int n;
 6
 7 int main() {
 8     scanf("%d",&n);
 9     for (int i = 0; i < n; ++ i) {
10         scanf("%d",A + i);
11     }
12     std::sort(A,A + n);
13     int answer = 0;
14     for (int i = 1; i < n; ++ i) {
15         if (A[i] <= A[i - 1]) {
16             answer += A[i - 1] + 1 - A[i];
17             A[i] = A[i - 1] + 1;
18         }
19     }
20     printf("%d\n",answer);
21 }

View Code

div.1

CodeForces 461B Appleman and Tree

给定一棵n(<=1e5)个节点的树,每个节点有颜色(黑或白),让你删掉一些边使得剩下的每个连通块内都恰好只有1个黑点。问删边的方案数。

那么就dp(u,c)表示节点u的子数,与u关联的连通块有/无黑点的状态是c,的方案数。

然后就是一个树dp啦。

 1 #include <bits/stdc++.h>
 2
 3 const int MOD = (int)1e9 + 7;
 4 const int N = 100000 + 5;
 5 std::vector<int> edges[N];
 6 int color[N];
 7 int n;
 8 int dp[N][2];
 9
10 inline void add(int &a,int b) {
11     a += b;
12     if (a >= MOD) a -= MOD;
13 }
14
15 void dfs(int u) {
16     if (color[u] == 1) {
17         dp[u][1] = 1;
18         dp[u][0] = 0;
19     } else {
20         dp[u][0] = 1;
21         dp[u][1] = 0;
22     }
23     for (int i = 0; i < edges[u].size(); ++ i) {
24         int v = edges[u][i];
25         dfs(v);
26         int tmp[2] = {};
27         for (int a = 0; a < 2; ++ a) {
28             for (int b = 0; b < 2; ++ b) {
29                 add(tmp[a | b],dp[u][a] * 1ll * dp[v][b] % MOD);
30                 if (a == 0 && b == 1) {
31                     add(tmp[0],dp[u][a] * 1ll * dp[v][b] % MOD);
32                 }
33             }
34         }
35         dp[u][0] = tmp[0];
36         dp[u][1] = tmp[1];
37     }
38
39 }
40
41 int work() {
42     dfs(0);
43     return dp[0][1];
44 }
45
46 int main() {
47     scanf("%d",&n);
48     for (int i = 1; i < n; ++ i) {
49         int x;
50         scanf("%d",&x);
51         edges[x].push_back(i);
52     }
53     for (int i = 0; i < n; ++ i) {
54         scanf("%d",color + i);
55     }
56     printf("%d\n",work());
57 }

View Code

转载于:https://www.cnblogs.com/zstuACM/p/5111269.html

所谓的日常 #10 - 勤王室馬騰舉義 報父仇曹操興師相关推荐

  1. 從turtle海龜動畫 學習 Python - 高中彈性課程系列 10.2 藝術畫 Python 製作生成式藝術略覽

    Goal: 藉由有趣的「海龜繪圖」學會基礎的 Python 程式設計 本篇著重在以 Python 海龜繪圖模擬藝術圖形, 討論與生成式藝術的關聯. 本篇我們列舉一些網路上見到的, 用電腦程式或某些軟體 ...

  2. 從turtle海龜動畫 學習 Python - 高中彈性課程系列 10.1 藝術畫 python繪製天然雪花結晶

    本篇主要是討論用 python 模擬自然界的雪花結晶形狀, (注意: 非網路上常提到的 雪花算法). "Talk is cheap. Show me the code." ― Li ...

  3. [从头读历史] 第261节 左传 [BC657至BC598]

    剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入元婴期的修炼后,日夜苦修,神通日进. 这日,忽然想起自己虽然神通大涨,却在人文涵养上始终无有寸进,不觉挂怀. 在和[工程师阿伟]商议后,决定先理清文 ...

  4. 曾經的文字﹐曾經的歲月

    反思 今天晚上找一個知心朋友﹐暢談了一個晚上﹐著實爽快+痛快. 但是﹐回來的路上﹐我在不斷的反思﹐反思自己﹐反思人生﹐反思社會. 喜歡三毛﹐更喜歡她的<少年愁>﹐清清淡淡的口氣﹐坎坷不平的 ...

  5. 利用Python从字幕网上下载自己所需要的字幕(热门电影、美剧等)

    一.前言 主要需求:利用python从字幕库网站上下载字幕 字幕网址:http://www.zimuku.la/ 二.方法: 1.打开网站,搜索自己所需要的字幕: 2.开始写代码: a.配置标头,手动 ...

  6. 画论24 郭若虛《图画见闻志》

    目录 提要 序 卷一  叙論 卷二 紀藝上 唐末二十七人 五代九十一人 卷三 紀藝中 王公士大夫,依仁游藝,臻乎(缺)極者一十三人. 高尚其事,以畫自娛者二人. 業於繪事,馳名當代者一百四十六人. 獨 ...

  7. Daughter of Deceit

    书名:Daughter of Deceit 作者:Holt, Victoria 篇幅: 240页 蓝思值:570L 用时: 10天 工具: 有道词典 [透析成果] 这是我读完的第9本英文原著,用词典查 ...

  8. 使用python爬取三国演义

    此篇使用的是python进行数据爬虫 爬取工具使用的是:bs4,requests 爬取的网站:https://www.shicimingju.com/book/sanguoyanyi.html 爬取的 ...

  9. 英语单词学习-17-112

    oil old one opt one out ore out owe owl own pad 学完这一篇,解决词库内112个单词 1.oil n. 油:石油:油画颜料 vt. 加油:涂油:使融化 v ...

  10. 三國正史vs演義的差別100個

    很多人把三国演當正史,以為書中寫得皆為真,虛實不分. 1.桃源結義︰正史並無寫到三人有結拜只提到情若兄弟(年齡:關羽要比劉備大) 2.溫酒斬華雄︰實華雄死於江東猛虎孫堅刀下,三演反把孫堅寫成是華雄的手 ...

最新文章

  1. RDKit:计算不同小分子构象之间的RMSD
  2. Java中的I/O模型总结(八股文自述)
  3. 渗透知识-Struts2漏洞
  4. 【Kaggle-MNIST之路】自定义程序结构(七)
  5. 分支管理---创建与合并分支
  6. python asyncio future 多线程_深究Python中的asyncio库-线程池
  7. angular-cli更新(link方式安装)
  8. 虚拟机中那些可以作为root对象_java虚拟机面试题及答案整理
  9. java consul服务发现_分布式项目(七)consul 服务注册与发现
  10. Python数据结构与算法(4.1)——递归
  11. WSUS服务器更改存放路径方法
  12. 人脸识别数据集---CAS-PEAL-R1
  13. php eof记录指针,关于ASP eof与bof 区别分析
  14. 如何评价柏拉图_哲学家如何看待死亡?|读柏拉图《斐多篇》(1)
  15. Tilera多线程网络编程总结
  16. Python OpenCV 写入视频
  17. 永恒之塔linux服务端,【永恒之塔单机5.8-6.5服务端】2020.06首发一键安装PC大型端游单机游戏客户端支持局域网联机玩[附视频搭建教程]...
  18. docker 中安装 MySQL 以及使用
  19. 谷歌大规模机器学习:模型训练、特征工程和算法选择 (32PPT下载)
  20. SpringBoot-Mongodb双数据源配置

热门文章

  1. Windows下FireFox插件dll文件名,必须是np开头,不能是plugin结尾
  2. 吾很努力了,吾不是关键因素
  3. python class是什么_python中什么是类
  4. python获取文件名中两条下划线之间的部分_Python 中的特殊双下划线方法
  5. andriod连接mysql测试工具,Android数据库调试工具
  6. mp3 播放自动 html5,HTML5打造简易播放器:Chrome运行.mp3
  7. php中文网是什么需要框架,框架是什么?
  8. 图书管理系统c++_图书管理功能
  9. 字符串中索引位置是什么意思_女孩子左手中指戴戒指什么意思 不同位置各有不同...
  10. 只安装mysql的centos_centos6 只安装mysql client(安装包安装和yum安装mysql)