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 ...
随机推荐
- HttpSession与Hibernate中Session的区别
一.javax.servlet.http.HttpSession是一个抽象接口 它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户 ...
- asp.net获取数据库的连接字符串
1.添加引用 using System.Configuration; 2.代码 string strConnectionString=ConfigurationManager.AppSettings[ ...
- webpack 使用优化指南
前言 本文不是webpack入门文章,如果对webpack还不了解,请前往题叶的Webpack入门,或者阮老师的Webpack-Demos. 为什么要使用Webpack 与react一类模块化开发的框 ...
- ArcGIS Engine开发前基础知识(3)
对象模型图 一.对象模型图中的类与接口 ArcGIS Engine 提供大量的对象,这些对象之间存在各种各样的关系,如继承.组合.关联等.对象模型图(Object model diagram,ODM) ...
- Android中使用ExpandableListView实现好友分组
一个视图显示垂直滚动两级列表中的条目.这不同于列表视图,允许两个层次,类似于QQ的好友分组.要实现这个效果的整体思路为: 1.要给ExpandableListView 设置适配器,那么必须先设置数据源 ...
- iOS开发中的数学函数
在iOS开发当中...我们往往会涉及到一些算法...为了节省一些时间...让APP很快地被开发出来...我们需要对各类函数有一定的了解...接下来...我把部分常用函数分享出来...希望能帮到大家.. ...
- 【代码笔记】iOS-账号,密码记住
一,效果图. 二,工程图. 三,代码. RegisViewController.h #import <UIKit/UIKit.h> @interface RegisViewControll ...
- 每日Scrum站会实践推荐
流程 1.团队在Scrum 白板前集中,推荐围成一个半圆形状. 2.最左边的成员开始讲述昨天/上一次Scrum每日站会后到现在为止,完成了什么任务,只需讲对应的任务就行了,不要讲很长的故事. 3.讲述 ...
- 使用ganglia监控hadoop及hbase集群
一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...
- [数据科学] 从csv, xls文件中提取数据
在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...