[bzoj359]Hungergame
bz不支持提交了,我觉得我写的应该没啥问题。 题面https://www.lydsy.com/JudgeOnline/problem.php?id=3759 我们知道Nim游戏如果所有石子数异或和等于0,那么后手必胜。所以作为先手,策略是这样的: 如果存在异或和为0的子集,那么一定存在一个最大的异或和为0的子集,称它为A。它的补集B不存在异或和为0的子集。(因为我们可以把为0的所有小子集合并)于是我们把A的盖子都打开。 接下来如果后手跟我们取A里的石子,像普通的Nim一样,我们总是取和他异或得
itertools模块
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 无限迭代器 count()会创建一个无限迭代器 import itertools
natuals = itertools.count(1)
for n in natuals:
print(n)
# 打印根本停不下来
cycle()会把传入的一个序列无限重复下去: import itertools
natuals = itertools.cycle('ABC')
for n in natuals:
【组成原理】第一章 计算机系统概述
1. 存储单元:CPU访问存储器的基本单位,每个单元有一个地址。通常是字节大小的整数倍。 2. CPU时钟周期 = 1/主频,单位通常是MHz 3. CPU执行时间 = CPU时钟周期数 * 时钟周期时间长度(1/主频) = (指令条数*CPI)/主频 -->主频单位是Hz 4. MIPS(million introductions per second) = (指令条数 / 执行时间)/ 10^6 = 指令条数 / ((指令条数*CPI)/主频*10^6) / 10^6 = 主频/CPI -
js 变量声明易混淆的几点知识
这是我 JavaScript 学习过程中遇到的一些容易混淆的地方,趁着有时间,做了一个整理。 变量提升 变量与函数名提升优先级 js 作用域内有变量,这个很好理解,但有一些细节需要注意。 console.log(foo); // 函数
function foo(){
console.log("函数声明");
}
console.log(foo); // 函数
var foo = "变量";
console.log(foo); // 变量 当变量名与函数名同名,且都提升上去了,那最终结
php优秀框架codeigniter学习系列——安装,配置 统一代码风格工具——editorConfig
下载 可在官网下载,我使用的是CodeIgniter-3.1.7。 目录 打开程序目录,可看到目录结构。 我这里做一点小的修改,新建了一个 index 目录,将 index.php 和一些静态文件放入这个目录里。这样做的主要目的是只将入口文件 index.php 暴露在网站根目录下,而将程序的网站业务文件目录 application 和系统文件目录 system 等其他的文件放在网站根目录外,避免用户可以直接访问到。 application —— 网站业务文件目录。里面包含有缓
背包问题(贪心算法)
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法还是比较好理解的一个算法,以前我也是这样认为的,感觉贪心就是每一步都做到最优解就可以了,但是后来结合问题发现自己的理解存在着一些问题。贪心算法比较经典的题目之一就是单源最短路径问题,这个问题在一些步骤上面我想了很久,有些细节想不通。这个问题以后有机会再讲。本次讲一讲背包问题。 背包问题就是有若干物品,每个物品有自己的价值和重
EF---ModelFirst
Model First 是先利用某些工具(如VS的EF设计器)设计出可视化的实体数据模型及他们之间的关系,然后再根据这些实体、关系去生成数据库对象及相关代码文件。 1.在VS2013里面新建个项目ModelFirst,然后在Models下面新建一个空的实体数据模型Model1.edmx: 2.在空的实体数据模型下面新增两个实体:BookType和BookInfo,并在新增的实体里面添加相应的标量。 因为我的两张表要实现关联,所以每个实体都要设置一个导航属性分别为BookInfo、BookTyp
每天一个linux命令:df 命令
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示 3.命令参数: 必要参数: -a 全部文件系统列表 -
将selenium集成到scrapy框架中
一 首先想到的是将selenium 写在下载中间件的process_request中。如以下代码。 middleware.py from selenium import webdriver
from scrapy.http import HtmlResponse
class TestMiddleware(object):
def __init__(self):
self.driver = webdriver.Chrome()
super()
用最小的内存和二分法查找数组中是否存在这个数
package Test;
public class Test {
//用最小的内存查找数组中是否存在这个数
public static void main(String[] args) {
int [] arr = {12,2,3,4,5,6,7,8,90,76,43};
byte[] byt = new byte[100];
for (int i = 0; i < arr.length; i++) {
byt[arr[i]] = 1;
}
expected at least 1 bean which qualifies as autowire candidate for this depe (spring无法注入)
1.查看接口实现类是否加入注解,如service、repository等。 2.查看spring配置文件是否自动扫描包 <context:component-scan base-package="xxx.xx.xxx"> 3.查看是否在web.xml中加载spring容器。(我就是监听漏了,汗...)
android 2018 面试题
【一】Activity 1.生命周期 onCreate:表示activity正在被创建(此方法中可以做一些初始化工作) onRestart:表示activity正在被重新启动,当前activity由不可见变为可见状态时,会被调用 onStart:表示activity正在被启动,这时activity已经可见了,但是没有出现在前台,无法与用户交互 onResume:表示activity已经可见了,位于前台,可以与用户交互了 onPause:表示activity正在停止
麒麟版Linux怎么在笔记本上安装
1、将刻好的光盘放入光驱,重启电脑,开机F9选择光盘引导。引导后会进入HP Recovery界面,直接选择Restore System From Media,回车 2、进入安装界面后,会首先提示这个工具会删除整个硬盘上所有的数据,询问用户是否继续。如果之前硬盘中有数据,一定要在这一步之前通过其他方式导出。选择Yes继续 3、然后会进一步确认这个过程会删除数据,请用户再次确认。选择OK继续。 4、然后等待10分钟左右,系统就会安装完毕。注意期间光盘复制完成后,会自动弹出。此时请取出光盘,并敲击回
Hadoop 2.0中的日志收集以及配置方法
Hadoop中的日志包含三个部分,Application Master产生的运行日志和Container的日志。 一、ApplicationMaster产生的作业运行日志 Application Master产生的日志信息详细记录了Map Reduce job的启动时间,运行时间,用了多少个Mapper,多少个Reducer,Counter等等信息。MapReduce作业中的Application Master是运行在container中的。 默认情况下,Application Master产
LeetCode 79. Word Search
典型dfs题,按照框架写。由于之前刚做了200和694,dfs写的很顺手。不同于前两道,dfs需要返回布尔值,因此代码上有些许差异,但总体结构是一样的。 递归终止条件都写在了最前面。 class Solution {
public:
int di[4]={0,0,1,-1};
int dj[4]={1,-1,0,0};
bool exist(vector<vector<char>>& board, string word) {
for (int
SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器
一、参数的传递 1、简单的参数传递 1 /* @RequestParam用法:入参名字与方法名参数名不一致时使用{
2 * value:传入的参数名,required:是否必填,defaultValue:默认值
3 * }
4 */
5 @RequestMapping("itemEdit")
6 public ModelAndView itemEdit(@RequestParam(value="id",required=true,defaultValue="1")Inte
springMVC 拦截器源码解析
直接上源码 //doDispatch方法
//1、处理器拦截器的预处理(正序执行)
HandlerInterceptor[] interceptors = mappedHandler.getInterceptors();
if (interceptors != null) {
for (int i = 0; i < interceptors.length; i++) {
HandlerInterceptor interceptor = interc
今日推荐
周排行