Codeforces Round #383(div 2)
A、快速幂
B、 题意:求ai^aj=x的数对个数,x和a[]给定
分析:a^b=c,则a^c=b,所以求ai^x=aj的个数,枚举一遍即可
C、 题意:给你一个有向图,每个点的出边只有一条,求最小的n,使得从任意点走2n步都可以走回原点
分析:先判断是否存在,如果存在,那么图中肯定是一个个的简单环,所以每个点的入度和出度都为1,否则不存在
对于存在的情况,遍历每个环,得出它们的长度,求出它们长度的最小公倍数lcm
若lcm是偶数,那么ans=lcm/2,如果lcm是奇数,那么ans=lcm
D、 题意:n件物品,背包容量m的01背包,给出物品间的关系图,同一个连通块内的物品,要么选任意一个,要么不选,要么全选,求最大价值。
分析:先介绍下分组背包,分组背包就是在01背包的基础上,规定一些组别,每一组里的物品要么不选,要么只能选一个
for(int k=1;k<=p;++k)//枚举组别
for(int j=m;j>=0;--j)//枚举包的容量
for(int i=1;i<=n[k];++i)//枚举k组里的所有物品
f[j]=max(f[j],f[j-w[i]]+v[i])
这样改变枚举物品的顺序,巧妙的做到了每一组里面最多只选一个物品
此题相较于分组背包而言,多了一个“要么全选”,这其实就是在该组中多加一个物品,该物品的重量和价值是该组物品的重量和价值总和
E、 题意:n对情侣(2n个人)坐成一个圈,给每个人数字1或数字2,要求每对情侣间数字必须不同、任意三个连续的人不能相同数字,问是否存在方案,如果存在输出任意一种。
分析:先考虑的是2-SAT问题,但是仔细一想发现这里涉及到三个人,所以是3-SAT问题,这是个NPC问题……
然后考虑类似的能不能用差分约束表示,结果发现难点还是在于三个人等价于三个变量……差分约束的边没法建
最后参考了题解,很巧妙
假设方案存在,将2i和2i-1连边、每对情侣连边,那么易得这个图里如果存在环必然是偶环,不存在奇环,它是个二分图
核对下题意,这样建图,任意三个连续的点,必然有一个点和另外两个点不在二分图的同一边,就满足颜色不能都相同!
所以先染色判断是否二分图,如果是二分图,将二分图的左边令为1,右边令为2就行了
Codeforces Round #383(div 2)的更多相关文章
- Codeforces Round #383 (Div. 2) 题解【ABCDE】
Codeforces Round #383 (Div. 2) A. Arpa's hard exam and Mehrdad's naive cheat 题意 求1378^n mod 10 题解 直接 ...
- Codeforces Round #383 Div 1题解
第一次打Div 1,感觉还是挺难的..把基础题打完就日常划水了.... [A. Arpa's loud Owf and Mehrdad's evil plan](http://codeforces.c ...
- Codeforces Round #383 (Div. 2) C. Arpa's loud Owf and Mehrdad's evil plan —— DFS找环
题目链接:http://codeforces.com/contest/742/problem/C C. Arpa's loud Owf and Mehrdad's evil plan time lim ...
- Codeforces Round #383 (Div. 2) A,B,C,D 循环节,标记,暴力,并查集+分组背包
A. Arpa’s hard exam and Mehrdad’s naive cheat time limit per test 1 second memory limit per test 256 ...
- dfs + 最小公倍数 Codeforces Round #383 (Div. 2)
http://codeforces.com/contest/742/problem/C 题目大意:从x出发,从x->f[x] - > f[f[x]] -> f[f[f[x]]] -& ...
- 01背包dp+并查集 Codeforces Round #383 (Div. 2)
http://codeforces.com/contest/742/problem/D 题目大意:有n个人,每个人有重量wi和魅力值bi.然后又有m对朋友关系,朋友关系是传递的,如果a和b是朋友,b和 ...
- Codeforces Round #383 (Div. 2)C. Arpa's loud Owf and Mehrdad's evil plan
C. Arpa's loud Owf and Mehrdad's evil plan time limit per test 1 second memory limit per test 256 me ...
- Codeforces Codeforces Round #383 (Div. 2) E (DFS染色)
题目链接:http://codeforces.com/contest/742/problem/E 题意: 有一个环形的桌子,一共有n对情侣,2n个人,一共有两种菜. 现在让你输出一种方案,满足以下要求 ...
- Codeforces Round #383 (Div. 2) D. Arpa's weak amphitheater and Mehrdad's valuable Hoses —— DP(01背包)
题目链接:http://codeforces.com/contest/742/problem/D D. Arpa's weak amphitheater and Mehrdad's valuable ...
- Codeforces Round #383 (Div. 2) B. Arpa’s obvious problem and Mehrdad’s terrible solution —— 异或
题目链接:http://codeforces.com/contest/742/problem/B B. Arpa's obvious problem and Mehrdad's terrible so ...
随机推荐
- NSIS 打包脚本基础
简介 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置.文件解压缩等功能.这如其名字所 ...
- WCF学习系列汇总
最近在学习WCF,打算把一整个系列的文章都”写“出来,包括理论和实践,这里的“写”是翻译,是国外的大牛写好的,我只是搬运工外加翻译.翻译的不好,大家请指正,谢谢了.如果觉得不错的话,也可以给我点赞,这 ...
- JSTL标签 参考手册
前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...
- iOS 原生HTTP POST请求上传图片
今天项目里做一个上传图片等个人信息的时候,使用了第三方AFNetworking - (AFHTTPRequestOperation *)POST:(NSString *)URLString param ...
- Visual Studio for Mac Preview离线下载安装
Visual Studio for Mac离线下载安装. 环境:OS X EI Caption 10.11.2 .NET Core SDK 1.1 需预先安装 .NET Core 1.1 SDK ma ...
- C#的委托
之前本人一直在写一些相对比较基础的C#代码,现在做了一段时间项目了,遇到更麻烦的问题,比如今天要讨论的委托和事件,这个算是C#进阶篇的内容吧.现在自己就把这些天所学习的和自己所理解的和大家分享.有错请 ...
- 记录一次bug解决过程:可维护性和性能优化
一.总结 使用某些变量的地方在2次以上的,强烈建议使用枚举值来维护变量,日后方便扩展. 查数据库的方法调用,能合并就净量去合并. 二.Bug描述 枚举变量的维护以及方法使用: public class ...
- Java设计模式 -- 基本原则
这两个星期开始系统地学习设计模式相关的知识,对每一个原则或者设计模式主要从下面几点分析学习: 定义:简单地描述其作用 解决问题:说明该原则或设计模式解决什么限制条件下的问题. 结构图:绘制相关例子的U ...
- Node.js 教程 04 - 模块系统
前言: Node.js的模块系统类似于C/C++的文件引用,可以声明对象,也可以定义类 创建对象. 大家这么理解,就简单了. 定义: 为了让Node.js的文件可以相互调用,Node.js提供了一个简 ...
- C#语言基础——递归
递归 一.概念conception: 函数体内调用本函数自身,直到符合某一条件不再继续调用. 二.应满足条件factor: (1)有反复执行的过程(调用自身): (2)有跳出反复执行过程的条件(函数出 ...