- 博客(141)
- 收藏
- 关注
原创 [NOIP2001 提高组] 数的划分
来表示数字 i 分成 j 份的方案数,讨论当前这个位置是否放一个1,是的话方案数就是。题目求将数n分成k份的方案数,可以用数组***f [ i ] [ j ]*份,且每份不能为空,任意两个方案不相同(不考虑顺序)。如果当前不放1就把每个抽屉先塞上一个1,即。NOIP 2001 提高组第二题。,下面三种分法被认为是相同的。即数字i分成j-1的方案数。个整数,即不同的分法。问有多少种不同的分法。
2024-08-17 09:19:42 761
原创 2024“钉耙编程”中国大学生算法设计超级联赛(2)
因为分母比较难处理,所以我们先预处理出1乘到15的最小公倍数,360360。然后就是把每个数的分母都变成它,因此dfs的时候我们求分子相加的最大值即可。首先要算每个点的期望,可以读读上面文章容易知道期望天数为1/p,这里就是15/pi。这题唯一要注意的就是后面只输出有等号的部分,然后模拟即可。
2024-07-23 02:18:32 672
原创 2024“钉耙编程”中国大学生算法设计超级联赛(1)
然后就想题目给k是什么意思,呃原来是abcd的范围是[0,2^k),那也就是说这四个数最大k位呗。直接枚举每一位,如果n当前是1就乘上12,否则乘4,然后右移即可。因为位运算是按照每一位来计算,所以第一反应是根据表达式推结果为1的时候有多少种情况,那么情况总数就是每一位的情况数相乘。这题第一眼云的时候感觉是贪心,后来要上手写代码感觉无从下手,遂反映过来是动态规划。看懂题之后就知道,a是小串,要找出b中有多少个子串在a+a中出现过。然后就是一个很简单的dp,外层枚举物品,里面枚举价值。
2024-07-20 01:13:42 1115 1
原创 一些签到题
突破点在于这题最后只剩下一个桃子,所以倒数第二天一定是4个桃子,倒数第三天一定是10个桃子,因此这就是个递推的数列。因为题目给定的n一定能被拆成两个质数的乘积,因此遍历一遍2-n,只要找到的约数就是这俩质数之一。比如一开始有n个桃子,吃了n/2+1,最后剩下n/2-1个桃子。唯一分解定理:一个数能且只能分解为一组质数的乘积。
2024-07-19 20:31:25 301
原创 笔试算法刷题
同时数据2e5,也就是nlogn,每次用最小的r,很容易想到小根堆。注意c++,优先队列默认是大根堆,std::priority_queue q;那么,我们存当前的r,往后找,如果当前的l比r要大就说明不重合,那么后面全都不重和,把当前r丢掉就行。也就是说在一个r被丢掉之前,存进的都是与之重合的边界,我们取最大值即可。然后想到了,差分,然后求前缀和可以知道每个点被选中了多少次,但是看数据范围是1e9,行不通。
2024-07-10 22:39:42 484
原创 《Java2实用教程》 期末考试整理
当前类当前包子类其他包public√√√√protected√√√×default√√××private√××× (类与对象、继承、接口、异常) 2.圆的面积、周长,球体积3.类变量
2024-06-17 20:50:58 705
原创 《大数据分析》期末考试整理
阶段、阶段和阶段 P22.大数据影响 P31)大数据对的影响2)大数据对的影响3)大数据对的影响4)大数据对的影响3. 人类在科学研究上先后经历了四种范式P3及P5P7和P128.正则表达式:9.Scrapy命令:P8810.pandas一维数组、二维数组、方法的使用在pandas库中有两个最基本的数据类型,即Series和DataFrame。其中。P277sum() 对每一列求和。
2024-06-16 20:04:51 1771
原创 【百度之星】题目练手
看到之后就想到之前没写出来的一道cf题目,因为不敢打暴力导致没写出来hhh~首先,这个问题贪心必有反例(贪心两个人尽早相遇)数据范围40000, 直接暴力枚举两个人在哪个点相遇。因为并不需要知道任意两个点之间的距离,而是只需要知道t到任意一点的距离,f到任意一点的距离和t到任意一点的距离,三次bfs即可。枚举点求最小值即可。
2024-06-16 00:55:35 305
原创 【蓝桥杯】第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组
由条件这个线段的长度一定是小于当前区间长度,线段被完全包含在这块区间内很显然是可以的,因此我们只讨论线段有一部分在线段外的情况。如果是1 2 2 2 2 3,2凑成了一队,剩下1 2 2 3,因为与已经成队的2重复的有2个,因此必须要把这两个改了,然后发现改完可以是1 1 3 3,答案就是2。如果是1 2 2 3这种情况,2凑成了一队剩下的就是1 3,这两个数不是重复的我们随便改一个即可,答案就是(n-cnt*2)/2。第一个版本只标记是否走过这点,很显然是不对的,有些点需要重复走,只有30%。
2024-05-29 00:13:53 1045
原创 【Python】【Scrapy 爬虫】理解HTML和XPath
一个 URL 由不同的部分组成,其中一些是必须的,而另一些是可选的。http是协议。它表明了浏览器必须使用何种协议。它通常都是 HTTP 协议或是 HTTP 协议的安全版,即 HTTPS。Web 需要它们二者之一,但浏览器也知道如何处理其他协议,比如(打开邮件客户端)或者(处理文件传输)。是域名。它表明正在请求哪个 Web 服务器。或者,可以直接使用IP address,但是因为它不太方便,所以它不经常在网络上使用。:80是端口。它表示用于访问 Web 服务器上的资源的技术“门”。
2024-05-25 19:30:16 903
转载 【论文】学术论文海报模板
导出的图无法放到PS中,可以直接在PPT中导入,右击选择“设置图片格式”,在图片栏下选择“重新着色”,选择无色即可;(用谷歌、火狐浏览区打开,容差值可以选择大一些)
2024-05-24 16:41:47 61
原创 【蓝桥杯】国赛普及-
最后算出来是947293,偶对要开double,这题会爆ull,原来double比unsigned longlong大啊。实际上经过两个点,我们直接枚举边就好了,对于一条边的两个端点如果都还连着别的点,情况数就加上。把质数存下来枚举判断即可,我不记得筛质数的板子所以写了个isprime。答案算出来是5484660609。补个线性筛版本,快很多。
2024-05-23 01:00:16 411
原创 【2024ICPC湖北省赛】The 2024 International Collegiate Programming Contest in Hubei Province, China
模拟一下会发现,使得路径最短的能经过的点只能是2,a的最小因数,b的最小因数,ab最大公约数,注意要特判一下1。想要a*b最大,b在根号里面,所以a为1的时候a*b最大。有n个点,每次可以选择一堆点删去,然后加上这两个点的终点,求解最后的点的期望。给定a,b两个点,定义两点之间距离为lcm(a,b)。给定x和y,求解使得a*b最大的a,b,输出a,b即可。因为选每对点的可能都是相同的,所以答案就是所有点的平均数。给n个点,求出从中选出3个点能组成的三角形最小面积。枚举点然后计算面积即可。
2024-05-07 13:13:18 1590
原创 Codeforces Round 942 (Div. 2) A~D
给定数组ai和bi,这俩数组都是非递减的。每次操作可以在ai的前面放上任意数字w,并删去a数组末尾的元素,求最少多少次操作让ai
2024-05-05 20:22:58 992
原创 Educational Codeforces Round 165 (Rated for Div. 2)[A~D]
这场签到很快那会rank1400吧,但到c就写不动了,最后排名也是3000左右,可见很多人其实都不会写dp。快速签到也很重要啊!!
2024-05-01 00:38:51 802 1
原创 Codeforces Round 941 (Div. 2)(A-D)
给定n张牌,每次选k张相同的牌,把他们变成k-1张任意的牌,求最后手中最少能有几张牌。直接判断这n张牌当中有没有k张一样的牌,如果有就一定能变成最后只剩k-1张牌。如果没有k张一模一样的牌,说明一次变化都做不了,最后只能有n张牌。
2024-04-29 01:44:48 827
原创 【算法竞赛进阶指南】0x11 栈
可以开个小根堆维护最小值,但是这样时间是logN的。如果只用一个变量来存,一旦出现了出栈操作就无从下手了。因此用一个线性结构来保存每个历史时刻的最小值。开两个栈,一个用来存数据,一个记录当前最小值。有数据入栈,就把这个数据与minn栈栈顶做对比决定是否入栈。出栈也做个对比即可维护这样一个数据结构。
2024-04-01 00:51:29 878
原创 【算法竞赛进阶指南】 0x3A 博弈论之SG函数
可得到尼姆博弈的一种变体。显而易见的是,如果每堆都是1,偶数堆则先手必胜,奇数堆则后手必胜。谁遇到偶数堆谁赢,谁遇到奇数堆谁输。如果只有一堆的数量大于1:1)奇数堆, 先手把唯一>1的那一堆变成1,就可以让后手面对奇数堆1的局面,先手必胜。这种情况下nim和一定是不为0的。2)偶数堆,先手把唯一>1的那一堆变成0,就可以让后手面对奇数堆1的局面,先手必胜。这种情况下的nim和就是x^1,也是不等于0的。如果两堆及以上数量大于1:如果先手想赢最后就要变成只有1堆数量大于1,即nim和不为0。
2024-04-01 00:49:24 1046
原创 【Python】Scrapy 爬虫(简单了解)
name属性:一个Scrapy项目中可能有多个爬虫,每个爬虫的name是其自身的唯一标识,在一个项目中不能有重名的爬虫。 start_urls属性:一个爬虫总要从某些页面开始爬取,我们称这样的页面为起始爬取点,start_urls属性用来设置一个爬虫的起始爬取点。 parse方法:当一个页面下载完成后,Srapy引擎会回调一个我们指定的页面的解析函数(默认为parse方法)解析页面。一个页面解析函数通常需要完成两个任务:1)提取页面中数据(使用xpat
2024-03-31 13:02:08 790
原创 【算法竞赛进阶指南】0x05 排序
看里面的动图就很好理解了,从左到右对每两个相邻的数都比较一次,那么到一轮之后最大的数就会跑到最后一个,这样重复n轮就可以实现排序的功能。
2024-03-25 00:47:58 712
原创 【算法】环形纸牌均分问题
但是,当我们交换两个摊点的时候,只会改变要么行要么列的状态。(感觉这个递推思想有点类似于费解的开关,每个灯能改变上下左右相邻的状态,第一行的灯只能由第二行改变,一旦第一行灯的状态确定了,则第二行、第三行......第n行的状态也就确定了。那么,1只能跟2交换以达到target,1换好之后2就只能跟3交换(因为如果1跟2又换了1就不是target了,而且说明前面做了无用功,答案一定不是最优的)。首先,我们看只有两个点的情况,在这种情况下我们选[1,2]的任何一个位置都是一样的,总和就是这段区间的长度,对吧。
2024-03-24 00:47:06 974
原创 【Linux】进程控制与进程调度
进程调度就是进程程序按照一定的策略,动态地把CPU分配给处于就绪队列中的某个进程。Linux操作系统中存在两类进程,即普通进程和实时进程。任何实时进程的优先级都高于普通进程的优先级。普通进程用nice值得表示优先级,取值范围为[-20,19],默认为0。越低的nice值代表越高的优先级,越高优先级的普通进程有越高的执行时间。实时优先级是可配置的,默认范围是[0,99]。与nice值相反,越高的实时优先级数值代表越高的优先级。
2024-03-12 17:30:32 777
原创 【应用多元统计分析】--多元数据的描述和展示(R语言)
我们用协方差来刻画两个变量的相关关系,这里指的是线性相关关系。对于一元随机变量的可视化最简单的就是散点图,大致可以看出X和Y之间的相关关系。如果想更好的看X、Y之间的相关关系,可以画二维的散点图。总结:均值描述随机变量的中心方差描述随机变量的离散程度协方差和相关系数来描述变量之间的线性关系用散点图去描述两个变量的相关关系。
2024-03-07 22:13:38 628
原创 【Linux】Linux C编程
预处理阶段主要处理宏定义和include,并进行语法检查,最终生成预处理文件。gcc 通过-E参数调用预处理程序 cpp,完成预处理工作。- o 参数用于指定输出文件。
2024-03-05 19:14:37 1012
原创 【应用多元统计分析】--数据矩阵及R语言表示
在多元分析中,数据通常以矩阵的形式出现,下面结合R语言介绍基本的。主要包括:创建矩阵向量,矩阵加减、乘积,矩阵的逆,行列式的值,特征值与特征向量,QR分解,奇异值分解,取矩阵的上下三角元素,向量化算子等。
2024-03-02 13:26:05 578
原创 【JAVA】JDK内置工具之appletviewer
下载java的时候会先下载Java jdk,。然后会下载jre,也就是。下载之后先找到java下的bin文件,复制文件路径。然后右键开始,点进系统,然后找到高级系统设置并打开。然后点击环境变量,找到Path,新建,然后把刚刚复制的粘贴过来即可。如果要运行java文件,要在cmd中使用java filename把源代码编译成字节码(.class文件)。在源代码中有几个class类就会生成几个.class文件。然后在cmd里java mainclassname(主类名),即可运行该java文件。
2024-03-01 16:25:01 479
原创 【应用多元统计分析】--多元数据的直观表示(R语言作图)
例1.2 为了研究全国31个省、市、自治区2018年,根据调查资料做区域消费类型划分。指标:食品x1:人均食品支出(元/人)衣着x2:人均衣着商品支出(元/人)居住x3:人均居住支出(元/人)生活x4:人均家庭设备用品及服务支出(元/人)交通x5:人均交通和通讯支出(元/人)教育x6:人均娱乐教育文化服务支出(元/人)医疗x7:人均医疗保健支出(元/人)其他x8:人均杂项商品和服务支出(元/人)地区x1x2x3x4x5x6x7x8北京8064.92175.5。
2024-02-29 22:01:19 1763
原创 算法竞赛--随机数据生成与对拍
头文件 stdlib.h 包含 rand 和 srand 两个函数,以及RAND_MAX常量,RAND_MAX的值与操作系统环境和编译器环境有关,一般情况下,在Windows系统中为 32767,在类Unix系统中为2147483647。rand() 函数返回一个0~RAND_MAX 之间的随机整数intsrand(seed)函数接受unsigned int类型的参数seed,以seed为“随机种子”。rand函数基于线性同余递推式生成随机数,“随机种子”相当于计算线性同余时的一个初始参数。若不执行
2024-02-27 20:51:23 254
原创 【算法竞赛进阶指南】0x00-0x04 位运算、递推递归、前缀和差分、二分
只有第二次操作有可能改变b[1]的取值,最多可以操作abs(maxn-minn)次,每操作一次就有一个新的取值,因此一共有。
2024-01-30 18:19:06 1130 1
为什么这个位置1能正确输出ch,位置2就不能输出ch了
2023-04-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人