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)的更多相关文章

  1. 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 题解 直接 ...

  2. Codeforces Round #383 Div 1题解

    第一次打Div 1,感觉还是挺难的..把基础题打完就日常划水了.... [A. Arpa's loud Owf and Mehrdad's evil plan](http://codeforces.c ...

  3. 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 ...

  4. 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 ...

  5. dfs + 最小公倍数 Codeforces Round #383 (Div. 2)

    http://codeforces.com/contest/742/problem/C 题目大意:从x出发,从x->f[x] - > f[f[x]] -> f[f[f[x]]] -& ...

  6. 01背包dp+并查集 Codeforces Round #383 (Div. 2)

    http://codeforces.com/contest/742/problem/D 题目大意:有n个人,每个人有重量wi和魅力值bi.然后又有m对朋友关系,朋友关系是传递的,如果a和b是朋友,b和 ...

  7. 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 ...

  8. Codeforces Codeforces Round #383 (Div. 2) E (DFS染色)

    题目链接:http://codeforces.com/contest/742/problem/E 题意: 有一个环形的桌子,一共有n对情侣,2n个人,一共有两种菜. 现在让你输出一种方案,满足以下要求 ...

  9. 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 ...

  10. 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 ...

随机推荐

  1. 模仿东京首页banner轮播,京东新闻上下滚动动画实现(动画实现)

    接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 首页banner动画实现 京东新闻上下动画实现 想着 ...

  2. C#开发微信门户及应用(25)-微信企业号的客户端管理功能

    我们知道,微信公众号和企业号都提供了一个官方的Web后台,方便我们对微信账号的配置,以及相关数据的管理功能,对于微信企业号来说,有通讯录中的组织架构管理.标签管理.人员管理.以及消息的发送等功能,其中 ...

  3. 数据结构:二叉树 基于list实现(python版)

    基于python的list实现二叉树 #!/usr/bin/env python # -*- coding:utf-8 -*- class BinTreeValueError(ValueError): ...

  4. ngrok

    为什么要使用ngrok?/ngrok 作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供它人体验评价或协助调试等等,通常我们会这么做: 找到一台运行于外网的Web服务器 ...

  5. 深入理解javascript闭包(二)

    在上次的分享中javascript--函数参数与闭包--详解,对闭包的解释不够深入.本人经过一段时间的学习,对闭包的概念又有了新的理解.于是便把学习的过程整理成文章,一是为了加深自己闭包的理解,二是给 ...

  6. Oracle数据库的链接数目超标

    测试场景:Oracle数据库的链接数目超标,iServer是否自动连接. 测试步骤:(1)设置了最大连接数为85,oracle后台进程有83:(2)开启3台iserver(A,B,C)A,B发布tes ...

  7. SharePoint 2016 配置向导报错 - The 'ListInternal' attribute is not allowed

    前言 配置SharePoint 2016的配置向导中,第三步创建配置数据库报错,然后百度.谷歌了一下,都没有解决,自己看日志搞定,也许会有人遇到类似问题,分享一下. 1.配置向导的错误截图,如下图: ...

  8. ReactNative中iOS和Android的style分开设置教程

    reactnative可以编辑iOS程序也可以编辑Android程序, 而且80%的代码都可以重用. 及有些文件是两个系统通用的, 相信大家也都清楚了. 但是也许大家会遇到一些屏幕布局的问题, 最常遇 ...

  9. SSH面试题(struts2+Spring+hibernate)

    struts2 + Spring +hibernate Hibernate工作原理及为什么要用?   原理:   1.读取并解析配置文件   2.读取并解析映射信息,创建SessionFactory ...

  10. freeswitch注册过程分析

    操作系统:debian8.5_x64freeswitch 版本 : 1.6.8 本文仅描述sip注册的简单场景,即话机直接向处于同一个局域网的fs进行注册. SIP协议的消息结构 消息框架 SIP协议 ...