【CF1206B】Make Product Equal One

Description 给定一个整数序列,每次操作可以将某一个元素的值+1或-1,求最少需要多少次操作可以使得序列每个元素的乘积等于1 Solution dp 一些数的乘积等于1,那么说明序列中一定只含有1或者是-1,而且-1出现的次数必须为偶数 那么我们定义$f[i][1/0]$表示前$i$个数,一共有奇数/偶数个-1时的最小操作数是多少 那么我们考虑转移 如果我们让当前的数变为1,那么从阶段i-1转移到i的时候-1个数的奇偶性不变 同理,变为-1就意味着奇偶性改变 那么状态转移方程就很简单
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

【模板】 带修改主席树

也就是树状数组加线段树 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=5e4+7; 4 struct node{ 5 int l,r,sum; 6 }tr[N<<3]; 7 struct quer{ 8 int l,r,k,v,op; 9 }q[10000+7]; 10 int rtn,Ln,Rn; 11 int a[N],b[N],rt[N<<2],L[N<<
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

多线程基础(一)— Java 内存模型

  为了更好的理解 Java 内层模型,我们需要简单地将 CPU 缓存模型回忆一下。 CPU Cache 缓存   在计算机中,虽然 CPU 的计算速度很快,但是计算机中绝大多数的任务不能只靠 CPU 的计算就能完成。还需要包括与内层的数据交互,读写、存储元算结果等。但是由于计算机的存储设备和 CPU 的运算速度有着几个数量级的差距,现代计算机中一般都会在内存设备和 CPU 之间添加一层读写速度尽可能接近 CPU 处理速度的高速缓存,用于将运算需要的数据复制到缓存中,让运算能够快速进行,当运算
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

STA之RC网

STA的主要工作是计算电路网络的延时,如今的电路网络还是由CMOS cell和net组成的,所以STA所要计算的延时仍是电容的充放电时间。等量子计算机普及的时候,如今的这一套理论都将随着科技的进步被丢到故纸堆里。在量子计算机君临之前,如今的天下还是CMOS的,所以要搞STA,首先需要明白如何计算CMOS cell delay跟net delay。 STA所有的行为都可以概括为建模和解方程,在STA眼里电路网络就是一张RC网络。cell被模拟成输入电容、输出电容、上拉电阻和下拉电阻。输入电容为前
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

【模板】 二分图最大匹配和匈牙利算法

1 bool dfs(int u) 2 { 3 for (iterator_t i = G[u].begin(); i != G[u].end(); ++i) { // 对 u 的每个邻接点 4 int v = edges[*i].to; 5 if (!check[v]) { // 要求不在交替路中 6 check[v] = true; // 放入交替路 7 if (matc
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

【模板】 ac自动机

1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<queue> 5 #define maxn 5000000+10 6 using namespace std; 7 char str[maxn*2]; 8 struct node{ 9 int fail;//失配指针; 10 int cnt;//单词出现的次数; 11 int next[62
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

【模板】 prim

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 #define inf 1e18 8 const int N=1000+7; 9 struct node{ 10 int x,y,z; 11 }num[N]; 12 double h[N][N],len
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

【面试题】---前端需要掌握的知识点-----更新...

css 1、盒模型 2、flex 3、css单位 4、css选择器 5、bfc 清除浮动 6、层叠上下文 7、常见页面布局 8、响应式布局 9、css预处理,后处理 10、css3新特性 animation和transiton的相关属性 animate和translate 11、display哪些取值 12、相邻的两个inline-block节点为什么会出现间隔,该如何解决 13、meta viewport 移动端适配 14、CSS实现宽度自适应100%,宽高1
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

【模板】 快速幂快速积

1 long long ksj(long long a,long long b,long long c)    //快速积取模 a*b%c  2 { 3     long long ans=0; 4     while(b){ 5         if(b&1) 6             ans=(ans+a)%c; 7         a=(a+a)%c; 8         b>>=1;  9     } 10     return ans; 11 }
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

python中的__call__函数

简单实例: class TmpTest: def __init__(self, x, y): self.x = x self.y = y def __call__(self, x, y): self.x, self.y = x, y a = TmpTest(1, 2) a(4, 5) print(a.x, a.y) 4 5 实战中应用: import json import requests
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

如何快速生成项目-cookiecutter

PyCharm并不自带这个功能 (Wizard) 生成新项目的向导(Wizard) 于是出现了cookiecutter 这是一个项目生成器 安装cookiecutter pip install cookiecutter 寻找一个合适的cookiecutter项目 挑选后 则可直接执行cookiecutter生成项目。 在 https://github.com/audreyr/cookiecutter/tree/db14e06a1dcc0187beeafde72685c3acef93eb68#
分类: 其他 发布时间: 08-21 23:44 阅读次数: 0

Matplotlib模块的基本使用

一、折线绘图 import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("F:\\ml\\机器学习\\01\\1.csv") print(data) date values 0 2012/11/15 90 1 2013/4/5 34 2 2014/2/3 34 3 2015/8/9 35 4 2016/
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

【模板】dijikstra

1 dis[1]=0; 2 q.push(make_pair(0,1)); 3 while(!q.empty()) 4 { 5 int u=q.top().second; 6 q.pop(); 7 if(vis[u]) continue; 8 vis[u]=1; 9 for(int i=h[u];i;i=e[i].nex) 10 {
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

基本查询语句和方法,连表,子查询

基本查询语句及方法   from, where, group by, having, distinct, order by, limit 连表   inner join, left join, right join, union 书写顺序   select id,name from emp where id > 3 and id < 6; 执行顺序   from # 确定到底是哪张表 where # 根据过来条件 筛选数据 select # 拿出筛选出来的数据中的某些字段   select *
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

python爬虫爬取各个城市历史天气及数据可视化

数据抓取 import asyncio import aiohttp from lxml import etree import re from collections import namedtuple Args = namedtuple('Args',['city','year','month']) async def work(args): url = "http://www.tianqihoubao.com/lishi/%s/month/%d%02
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

文件压缩命令--压缩和解压缩命令

文件压缩命令--压缩和解压缩命令 1:(1)zip命令 .zip “.zip”是 Windows 中最常用的压缩格式,Linux 也可以正确识别“.zip”格式,这可以方便地和Windows 系统通用压缩文件。 zip [选项] 压缩包名 源文件或源目录 -r: 压缩目录 示例:zip -r vi.zip vitest adding: vitest/ (stored 0%) adding: vitest/vi.text (deflated 64%) adding: vitest/.con.sq
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

概述抽象类和接口 ,以及两者的区别

首先我们来了解一下什么是抽象类?
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

约数大合集(超详细!!!)

整数惟一分解定理的推论 1、求N的正约数集合 因为约数总是成对出现的(除了完全平方数)。因此只需扫描1~sqrt(N)之间的数就能得到N的正约数集合。 2、求1~N的每个数的正约数集合 3、约数个数 算术基本定理中,根据拆分后的素因子的指数,我们可以求出每个 N 的约数的个数。 根据这个式子,我们可以用线性筛去筛出当前 1~N 的约数个数。筛的过程中,我们需要保存下最小素因子的个数。 下面推导中 d(i) 表示 i 的约数个数 num[i] 表示 i 的最小素因子的个数 prim[i] 表示
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

【模板】 字典树

1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 struct node{ 6 int cnt; //记录出现次数 7 int nex[30];//该节点下一个儿子的节点 8 }trie[400500]; 9 char s1[105],s2[105]; 10 int tot=1;//也可以0 11 void build(c
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0

Zookeeper高级

1.1. 一致性协议概述 前面已经讨论过,在分布式环境下,有很多不确定性因素,故障随时都回发生,也讲了CAP理论,BASE理论 我们希望达到,在分布式环境下能搭建一个高可用的,且数据高一致性的服务,目标是这样,但CAP理论告诉我们要达到这样的理想环境是不可能的。这三者最多完全满足2个。 在这个前提下,P(分区容错性)是必然要满足的,因为毕竟是分布式,不能把所有的应用全放到一个服务器里面,这样服务器是吃不消的,而且也存在单点故障问题。 所以,只能从一致性和可用性中找平衡。 怎么个平衡法?在这种环
分类: 其他 发布时间: 08-21 23:28 阅读次数: 0