09 2020 档案
摘要:「HDU-2196」Computer 树形dp,树的最长路径(最远点对) 题意 给出一棵nn个结点的无根树,求出每个结点所能到达的最远点的距离。 解法 将无根树转成有根树,并进行两次DFS。 第一次DFS求出每个结点在其子树中的正向最大距离和正向次大距离,记为dp[0][x]和dp[1][x],并标
阅读全文
摘要:康托展开可以用来求一个 的任意排列的排名。 什么是排列的排名? 把 的所有排列按字典序排序,这个排列的位次就是它的排名。 时间复杂度? 康托展开可以在 的复杂度内求出一个排列的排名,在用到树状数组优化时可以做到 \(O(n\log n)\
阅读全文
摘要:A. Floor Number https://codeforces.com/contest/1426/problem/A 题意: 一个楼房房间号由 递增,一楼仅2个房间。给定一位用户的房间号和 楼以上每层的房间数 求出用户所在楼层 思路: 很简单,理解题意即可。 如果 \(n≤
阅读全文
摘要:前言: Python有几种方法可以显示程序的输出;数据可以以人类可读的形式打印出来,或者写入文件以供将来使用。 在开发应用程式时我们往往会需要把变数进行字串格式化,也就是说把字串中的变数替换成变量值。事实上,在 Python 中有许多方式可以进行,其中最常见的有四种方式: 旧式字串格式化 新式字串格
阅读全文
摘要:题目: 给你 的方格矩阵,要求用12的多米诺骨牌去填充,问有多少种填充方法。 比如下图是对于如下2x6的方格矩阵,可能的填充方案之一。 该如何使用动态规划的方式解决这道题呢?先了解一下状态压缩算法。 状态压缩通常是使用一个整数来表示一个集合,比如整数3,二进制表示为11
阅读全文
摘要:一、C++万能编译头文件 #include<bits/stdc++.h> VS2017添加万能头文件 从 #include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #i
阅读全文
摘要:0. 参考资料 Uninstall visual studio code in windows 1. 删不干净的用户数据 最近正在从 Sublime Text 3 环境切换到 VS Code,看重的是后者的开源、免费、跨平台等特性,以及强大的后台与广泛的用户群。 但是对 VS Code 的一次卸载重
阅读全文
摘要:PyCharm到期了,所以打算换成VS Code(宇宙最好用编辑器?)试一试。但是下载之后不太会配置,网上不少的文章也比较旧了,所以打算自己看着官方教程配置一下。(VSCode版本:1.49.2,Python版本:3.8.2) VScode教程 1. 安装和配置Python 首先,下载VS Code
阅读全文
摘要:A - AAA CodeForces - 34B 思路: 典型的贪心,在能搬动的情况下,如果值为负数就带走 #include<bits/stdc++.h> using namespace std; int main() { //freopen("in.txt", "r", stdin); ios:
阅读全文
摘要:问题描述 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数
阅读全文
摘要:330A. Cakeminator https://codeforces.com/problemset/problem/330/A 题意很容易理解:给定一块蛋糕区域,但蛋糕上有几个不能吃的草莓,大胃王一次能吃一整列、行 求在不吃到草莓的情况下能迟到的最多的蛋糕数 //cpp #include<bit
阅读全文
摘要:题目链接:POJ 2187 Description Bessie, Farmer John’s prize cow, has just won first place in a bovine beauty contest, earning the title ‘Miss Cow World’. As
阅读全文
摘要:这几天闲来无事去学习了一下计算几何,发现其实不(sang)是(xin)太(bing)难(kuang):stuck_out_tongue: 今天就重点介绍一下简单的叉积及其简单的运用(毕竟作为蒟蒻,难的搞不来啊) 什么是计算几何? “对几何外形信息的计算机表示、分析和综合”——福雷斯特 其实所谓计算几
阅读全文
摘要:A - 小d的加法 计蒜客 - T1098 Sample Input 22222222222222222222 33333333333333333333 Sample Output 55555555555555555555 思路: 知道是大数相加的模板题,但发现python真滴简单😂 #大数相加
阅读全文
摘要:引言 首先介绍下什么是凸包?如下图: 在一个二维坐标系中,有若干点杂乱排列着,将最外层的点连接起来构成的凸多边型,它能包含给定的所有的点,这个多边形就是凸包。 实际上可以理解为用一个橡皮筋包含住所有给定点的形态。 凸包用最小的周长围住了给定的所有点。如果一个凹多边形围住了所有的点,它的周长一定不是最
阅读全文
摘要:一、引言 卡特兰数(Catalan numbers, OEIS A000108 (opens new window))是组合数学中一个常出现在各种计数问题中的数列。 数列的前几项为:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862,... 卡特兰数是一个非常神奇的序列
阅读全文
摘要:什么是向量积? 向量积,也称(向量)叉积,(向量)叉乘,外积,是一种在向量空间中对向量进行的二元运算。常见于物理学力学、电磁学、光学和计算机图形学等理工学科中,是一种很重要的概念。 设向量 由两个向量 和 \
阅读全文
摘要:向量 (为人教版高中数学必修四内容) 平面的向量交错生长/织成/忧伤的网 ——《膜你抄》 简单记录下向量相关知识(来自网络 定义及相关概念 向量 :既有大小又有方向的量称为向量。数学上研究的向量为 自由向量 ,即只要不改变它的大小和方向,起点和终点可以任意平行移动的向量。记作
阅读全文
摘要:在学习python的时候,被推荐了使用PyCharm这款IDE,但是经常在已经pip安装第三方包的时候import包的时候却发生了问题- -无法引入。 进行模块的加载,百度之后,了解到,在这款IDE中,要导入包,需要手动进行引入。如下图所示 首先在file(文件)中找到settings(设置) 因为
阅读全文
摘要:Example input 3 1 7 4 1 1 3 5 6 3 2 1 5 6 4 output 7 1 5 1 3 2 4 6 1 3 5 看题的时候发现和sort有关,但一定要逆序排序 证明: ai>=aj 逆序 i<j -i>-j 上式两边同时加上ai,ai-i>ai-j (1) ai>=
阅读全文
摘要:本篇文章主要分享python学生管理系统的使用,文章非常详细地介绍了通过示例代码实现的学生管理系统,该系统对每个人的研究或工作都有一定的参考学习价值,希望你能在其中有所收获。 这个是用python实现的基本的增删改查的学生管理系统,其中主要是对输入的数据进行合法性检测的问题,这次又对函数进行了练习!
阅读全文
摘要:比赛链接:https://codeforces.com/contest/1419 https://codeforces.com/contest/1419/problems A. Digit Game Example input 4 1 2 1 3 3 102 4 2069 output 2 1 1
阅读全文
摘要:A - 小A的矩阵 HDU - 1559 Sample Input 1 4 5 2 2 3 361 649 676 588 992 762 156 993 169 662 34 638 89 543 525 165 254 809 280 Sample Output 2474 思路: 可以使用DP和
阅读全文
摘要:引言 在开始论述之前,我想请大家先看下这几个问题: 有 个人排成一行进入剧场。入场费 5 元。其中只有 个人有一张 5 元钞票,另外 人只有 10 元钞票,剧院无其它钞票,问有多少中方法使得只要有 10 元的人买票,售票处就有 5 元的钞票找零? 一位大城市的律师在
阅读全文
摘要:pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。 Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。 pip 官网:https:
阅读全文
摘要:学习算法和数据结构之余开始接触python,目前正在学习语法部分,这篇blog记录下一些知识点和放一些文档 or 教程的传送门。 文档网站 Python 解释器内置函数 Python速成 from OI Wiki Warnning: ①ambiguous variable name 'l' l =
阅读全文
摘要:HDU - 1179 二分图介绍:匈牙利算法 模板二分图: #include<bits/stdc++.h> using namespace std; const int maxn = 110; int n, m, f[maxn], ans, k, x; bool mat[maxn][maxn]; i
阅读全文
摘要:354. 俄罗斯套娃信封问题 很多算法问题都需要排序技巧,其难点不在于排序本身,而是需要巧妙地排序进行预处理,将算法问题进行转换,为之后的操作打下基础。 信封嵌套问题就需要先按特定的规则排序,之后就转换为一个 最长递增子序列问题,可以再使用 二分查找详解 的技巧来解决。 一、题目概述 信封嵌套问题是
阅读全文
摘要:第八场 CodeForces - 1288A. Deadline Example input 3 1 1 4 5 5 11 output YES YES NO Note In the first test case, Adilbek decides not to optimize the progr
阅读全文
摘要:学习之余重新复习了下 位运算的奇技淫巧(二) 又发现了几个有趣的位运算,部分内容来自东哥 本文分两部分,第一部分列举几个有趣的位操作,第二部分讲解算法中常用的 n & (n - 1) 操作,顺便把用到这个技巧的算法题列出来讲解一下。 因为位操作很简单,所以假设读者已经了解与、或、异或这三种基本操作。
阅读全文
摘要:1418A. Buying Torches 这次A题,真心fo了(导致wa了我两次) 样例出错两次,数据出错一次。 讲一下我的思路吧。 首先先明确至少需要多少个棍。 个火炬,至少需要 个棍棍。 其次要想,怎么从 个棍,利用第一条贸易,变成
阅读全文
摘要:两次BFS/DFS求树的直径 我们可以先从任意一点开始DFS,记录下当前点所能到达的最远距离,这个点为P。 在从P开始DFS记录下所能达到的最远点的距离,这个点为Q。 就是直径的端点, 就是直径。 具体代码见下题 题意:有N个农田以及M条路,给出M条路的
阅读全文
摘要:一、Web开发介绍 我们看到的网页通过代码来实现的 ,这些代码由浏览器解释并渲染成你看到的丰富多彩的页面效果。 这个浏览器就相当于Python的解释器,专门负责解释和执行(渲染)网页代码。 写网页的代码是专门的语言, 主要分为Hmtl 、 CSS 和 JavaScript, 被称为网页开发三剑客,
阅读全文
摘要:入门_30个常用python实现 .pdf 一、 二、 三、 四、 五、函数篇 5.1 计算圆的面积 from math import pi as PI def CircleArea(r): if isinstance(r,(int,float)) and r > 0: #确保接收的参数为大于0的数
阅读全文
摘要:1406A. Subset Mex https://codeforces.com/contest/1406/problem/A Example input 4 6 0 2 1 5 0 1 3 0 1 2 4 0 2 0 1 6 1 2 3 4 5 6 output 5 3 4 0 Note In t
阅读全文
摘要:题意: 你可以用图示的方法建造金字塔,但是每一次都要建最大的金字塔,问最后能建几个金字塔。 思路: 我们可以发现对于每一个金字塔都是两边增加了两天边,然后中间行数− 1 -1−1个三角形,所以就可以求出每一个金字塔的边数 ,然后从最大的金字塔开始
阅读全文
摘要:题意: 已知 求 ,推导公式见题面。 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll n, k, _, a; int main() { //freopen("in.txt",
阅读全文
摘要:我把双指针技巧再分为两类,一类是「快慢指针」,一类是「左右指针」。前者解决主要解决链表中的问题,比如典型的判定链表中是否包含环;后者主要解决数组(或者字符串)中的问题,比如二分查找。 一、快慢指针的常见算法 快慢指针一般都初始化指向链表的头结点 head,前进时快指针 fast 在前,慢指针 slo
阅读全文
摘要:题目描述 n个人参加某项特殊考试。 为了公平,要求任何两个认识的人不能分在同一个考场。 求是少需要分几个考场才能满足条件。 输入 第一行,一个整数n(1<n<100),表示参加考试的人数。 第二行,一个整数m,表示接下来有m行数据 以下m行每行的格式为:两个整数a,b,用空格分开 (1<=a,b<=
阅读全文
摘要:题目分析: 这是一个经典的Multi-SG游戏的问题。 相较于普通的Nim游戏,该游戏仅仅是多了拆成两堆这样的一个状态。即多了一个SG(x+y)的过程。 而根据SG定理,SG(x+y)这个游戏的结果可以拆成SG(x)和 SG(y)游戏的结果的xor。 因此,在我们求SG函数的过程中,我们只需要再**
阅读全文
摘要:题目链接: https://vjudge.net/problem/HDU-2897 题目大意: 就是现在一堆石子有n颗, 每次只能拿走p~q颗, 当剩余少于p颗的时候必须一次拿完 拿走最后一颗的人败 问谁会获得胜利 大致思路: 首先不难发现当n ⇐ p的时候是必败点(P点),那么对于p + 1 ⇐
阅读全文
摘要:虽然我还是连绿名都没,但还是想学习大牛们的学习方法,加油尽早上分。 转自知乎 之前在 CF 上看到一条不错的评论 https://codeforces.com/blog/entry/66715?#comment-507869,总结其中几点: 多做构造题能有效提高自己的思维,更快地找到切题入口。(构造
阅读全文
摘要:Problem A - Ahahahahahahahaha https://codeforces.com/contest/1407/problem/A 题意: 给定一个偶数数组(元素值 0,1),在删除一定的数组元素(最多 个) 以后偶数位和 是否能等于 奇数位和。 在不改变原序
阅读全文
摘要:求一个自由树的直径。对于直径,《算法导论》第三版 349 页练习 22.2-8 上面这么定义道: 树中所有最短路径的最大值即为树的直径。 这个树由于没有根结点,其实直径这个概念,还是理解为一个连通无向无环图的直径为好。 现在给定如下格式的输入: 8 1 2 1 3 1 4 4 5 3 6 6 7 7
阅读全文
摘要:前端技术构成: 结构:Html,从语义的角度,描述页面结构 样式:Css,从审美的角度,美化界面样式 行为:JavaScript,从交互的角度,提升用户体验 前端技术标准: 前端技术的标准就是由W3C这个组织进行规定的,W3C即the World Wide Web Consortium(万维网联盟)
阅读全文
摘要:Codeforces Round #667 (Div. 3) A - D Problem A - Yet Another Two Integers Problem https://codeforces.com/contest/1409/problem/A Example input 6 5 5 13
阅读全文
摘要:Examples input 6 baabbb output bab input 10 ooopppssss output oops 思路: 模拟等差数列即可 #include<bits/stdc++.h> using namespace std; int main() { //freopen("i
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/1047/A Description 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为Hi,
阅读全文
摘要:WC1999 陈 宏 -《数据结构的选择与算法效率——从IOI98试题PICTURE谈起》 来煜坤 -《把握本质,灵活运用——动态规划的深入探讨》 齐 鑫 -《搜索方法中的剪枝优化》 邵 铮 -《数学模型的建立、比较和应用》 石润婷 -《隐蔽化、多维化、开放化──论当今信息学竞赛中数学建模的灵活性》
阅读全文
摘要:在面试的过程中,除了常规的算法题目,我们经常也会被问到一些趣味题型来考察思维,而这类问题中,很多都有博弈论的影子存在。这些公司里以FLAG(Facebook, LinkedIn, Amazon, Google)为典型,特别喜欢考察本类题型。同时,本系列将不一定都是算法问题,不是IT行业的小伙伴也可以
阅读全文
摘要:AC代码: #include<bits/stdc++.h> using namespace std; int main() { //freopen("in.txt", "r", stdin); ios_base::sync_with_stdio(false), cin.tie(0), cout.ti
阅读全文
摘要:使用状态压缩,最好了解 位运算使用 SCOI2005 互不侵犯 在 的棋盘里面放 个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共 个格子。 我们用 表
阅读全文
摘要:位运算就是基于整数的二进制表示进行的运算。由于计算机内部就是以二进制来存储数据,位运算是相当快的。 之前有总结过位运算的技巧,但稍微对以前写的文章不太满意,所以重新总结一下 常用的运算符共 6 种,分别为与( & )、或( | )、异或( ^ )、取反( ~ )、左移( << )和右移( >> )。
阅读全文
摘要:首先简单阐述一下递归,分治算法,动态规划,贪心算法这几个东西的区别和联系,心里有个印象就好。 递归是一种编程技巧,一种解决问题的思维方式;分治算法和动态规划很大程度上是递归思想基础上的(虽然实现动态规划大都不是递归了,但是我们要注重过程和思想),解决更具体问题的两类算法思想;贪心算法是动态规划算法的
阅读全文
摘要:分数规划用来求一个分式的极值。 形象一点就是,给出 和 ,求一组 ,最小化或最大化 \[ \displaystyle\frac{\sum\limits_{i=1}^na_i\times w_i}{\sum\limits_{i=1}^
阅读全文