ABC 317 A - G

代码去 Atcoder 全部提交搜索 Std_Code 查看代码

懒人专用

A

$ p_i $ 升序,找最小的 $ i $ 满足 $ p_i + h \ge x $

直接枚举所有 $ p_i $ 即可,考虑到保证有解,所以我们可以不考虑枚举完干什么

也可以随便输出,比方说 $ AK $ 个 $ 101 $ 之类的

B

给几个数字,是连续数字去掉其中一个,找到去掉的数字

我们考虑记录每个数字是否出现,找出所有数字里面的最小数字,和最大数字,在这些数字里面枚举,如果没有出现就直接输出

另一种方法,排序以后找一下那一个数比之前的数大了不止 $ 1 $

C

求一个 $ n $ 点 $ m $ 边无向图的最长简单路径

很简单,直接 dfs 就可以了,每次枚举所有边,找边权最大的返回

其实肥肠的简单,但是我就是赛时想了很久才想出来

D

从这道题开始就有难度了,这是一道标准的 $ 01 $ 背包题

我们把背包的容量看成座位数,设 $ dp_i $ 表示令座位数为 $ i $ 的最少需求人数

然后枚举每个场地进行转移即可,和 $ 01 $ 背包是一样的

这里要先预处理出所有场地的总座位数和初始本来就是自己的的座位数

然后除了初始的座位数以外,所有的 $ dp_i $ 是 $ 10^{18} $

这里要注意,$ 2147483647 $ 是不行的,会 WA $ 9 $ 个点,不要问我是怎么知道的

然后就没什么难的了

E

给一个地图,有人,人有视线,还有障碍物,求从起点到终点不被看见能否做到

很简单,先求出能被人看到的格子,标记

然后把这些格子和人全变成障碍物

然后 BFS 直接大爆搜就可以了

很简单,超级简单,正常人赛时直接秒

F

F 是数位 dp

题意是说找三元组 $ (x_1, x_2, x_3) $ 的数量,满足分别是 $ A, B, C $ 的倍数,并且相互异或是 $ 0 $,三个数在 $ n $ 的范围内

我们考虑 $ dfs(k, x, y, z, f_1, f_2, f_3, f_4, f_5, f_6) $

前三个参数表示上界,后三个参数表示是不是 $ 0 $

然后发现,每一位只能取 $ 2 $ 个 $ 1 $,或者都取 $ 0 $

然后直接 dfs 就可以了,每次枚举那些取 $ 1 $,和全取 $ 0 $ 的方案数之和,返回即可

记得对应更新一下参数就可以了

其实没什么难的

G

网络流来送温暖啦

给定一个 $ n \times m $ 的数组 $ a $,求能否把每一行重新排序,使得每一列 $ 1 $ ~ $ n $ 都各出现一次

我们考虑行号和这一行所有的数连边

然后跑一个二分图最大匹配就可以找到一列的方案,

然后把找到的边去掉

最后判断能否找到 $ m $ 个最大匹配就可以了

很简单,代码也不难写

ABC 317 A - G的更多相关文章

  1. jQuery—常用操作

    一.jquery各版本变化 1.3:增加live(),为当前和将来增加的元素绑定事件 1.4:增加delegate().undelegate(),替代live(),可以遍历绑定 1.6:2个破坏性变更 ...

  2. Javascript正则构造函数与正则表达字面量&&常用正则表达式

    本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...

  3. JS正则表达式基本概念

    1.正则表达式(Regular Expression) 在JS里是RegExp 两种字义方式 1. var patt1=new RegExp("e"); 2. var patt1 ...

  4. 踩个猴尾不容易啊 Canvas画个猴子

    踩个猴尾不容易啊  Canvas画个猴子 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

  5. bat中rar压缩命令

    数据库备份,导出的dmp 文件比较大,需要压缩,压缩后大小能变为原来十分之一左右吧. 写的是批处理的语句,每天调用,自动导出dmp 文件,压缩删除原文件. 首先写下路径,先将压缩软件的路径写入系统的环 ...

  6. char* 和char[]的区别

    以下内容均来自互联网,系笔者汇总并总结. 1. 问题介绍 问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="ab ...

  7. OAF_开发系列07_实现OAF下拉菜单的上下联动Poplist Synchor(案例)

    20150706 Created By BaoXinjian

  8. 7z命令行参数中的路径

    最近在自动化的过程中用到了7z命令行工具,发现其参数中的路径挺有意思的,在此总结一下.本文中所有demo使用的7z版本为:15.14 x64. 压缩某个文件夹 下面的命令会把g:\temp\目录和目录 ...

  9. javascript:正则大全

    :replace函数,为写自己的js模板做准备 待完善 function 1,声明&用法 //数组: var arr=[];//字面量 var arr=new Array();//构造函数 / ...

  10. Linux shell之sed

    sed编辑器逐行处理输入,然后把结果发送到屏幕. -i选项:直接作用源文件,源文件将被修改. sed命令和选项: a\ 在当前行后添加一行或多行 c\ 用新文本替换当前行中的文本 d 删除行 i\ 在 ...

随机推荐

  1. 如何在编码阶段减少代码中的bug?

    前言 作为一名合格的程序员,不写bug是不可能的.如何花费最少的时间来修复bug呢? 在编码阶段借助一些静态分析工具往往可以事半功倍,减少代码中的bug. 静态分析工具能够在代码未运行的情况下分析源代 ...

  2. div模拟表格单元格合并

    效果如下图: html代码如下: 1 <ul class="schedule-list"> 2 <li class="schedule-title&qu ...

  3. uni-app滚动加载下一页

    https://www.bilibili.com/video/BV1BJ411W7pX?p=39

  4. SpringBoot 动态多线程并发定时任务

    一.简介 实现定时任务有多种方式: Timer:jdk 中自带的一个定时调度类,可以简单的实现按某一频度进行任务执行.提供的功能比较单一,无法实现复杂的调度任务. ScheduledExecutorS ...

  5. 何时使用Kafka而不是RabbitMQ

    Kafka 和 RabbitMQ 都是流行的开源消息系统,它们可以在分布式系统中实现数据的可靠传输和处理.Kafka 和 RabbitMQ 有各自的优势和特点,它们适用于不同的场景和需求.本文将比较 ...

  6. freeswitch APR库内存池

    概述 freeswitch的核心源代码是基于apr库开发的,在不同的系统上有很好的移植性. apr库中的大部分API都需要依赖于内存池,使用内存池简化内存管理,提高内存分配效率,减少内存操作中出错的概 ...

  7. 关闭 cockpit 登陆提示

    sudo rm /etc/issue.d/cockpit.issue sudo rm /etc/motd.d/cockpit

  8. Spring Boot 中使用Caffeine缓存的简单例子

    Caffeine 缓存是 Java 的高性能缓存库.本文简单记录下 Caffeine 缓存的用法. 依赖配置 <dependencies> <dependency> <g ...

  9. Spring Boot+Vue实现汽车租赁系统(毕设)

    一.前言 汽车租赁系统,很常见的一个系统,但是网上还是以前的老框架实现的,于是我打算从设计到开发都用现在比较流行的新框架.想学习或者做毕设的可以私信联系哦!! 二.技术栈 - 后端技术 Spring ...

  10. 类外static函数定义要不要加static关键字?

    类外static函数定义要不要加static关键字? 先说答案:不需要. 错误代码: #include<iostream> #include<memory> using nam ...