积分赛3
学习了最短路后,感觉自己理解真的很一般,只会一些模板题目,稍微变一下就死了,而且发现我的思维很死,只会写套路题,做那些稍微灵活一点的题目感觉就很吃力,希望以后能有好转
B 张仙女的愧疚
张仙女最近痴迷于游戏,可是他每周都得为学弟们准备一场积分赛。但,不是谁都能成为
时间管理大师。在游戏的诱惑下,他不小心出了几道难题,导致学弟们的心态可能爆炸,终于
他感到了深深的愧疚。决定这次一定友好一点。
他想到了一个有趣且简单的问题,准备交给学弟们解决。
给你一个数组N,数组的下标从1开始,数组中的每个数的值为A**i,你需要在这个数组中
找到两个数,使他们的数值和与他们的下标的差的绝对值相等,两个数为一组,张仙女想考考
你,在这个数组中你最多能找到可以满足题意的几组数。
输入
单组输入
第一行为数组的大小N(2 ⩽ N ⩽ 200000)
接下来一行N个以空格区分开的数表示数组中的值A**i1 ≤ A**i ≤ 109
(1 ≤ i ≤ N)
输出数据
一个数字,表示答案
样例输入
6
2 3 3 1 3 1
样例输出
3
分析题意很简单求数组里面有多少对数满足数值和等于下标差,列出等式a[ ...
积分赛2
前两天打了第二场积分赛,难度明显比上次高,感觉更考验思维了,收集了一些我认为有价值的题目,因为太懒了,不想自己写思路题解了,搬来了别人的代码和题解,以后争取养成保存代码的习惯🐷
A 徐半仙的数学难题
描述
徐半仙经常修炼。但是每次修炼所能提升的功力确是不确定的(可能是功力还不够深厚
吧)。
每次修炼结束之后,徐半仙的脑海中就会浮现出两个数字,n和m,他的师父跟他说他每
次修炼增加的功力就是由这两个数决定的。每次增加的功力为(n!!!)%m,即n的阶乘的阶乘的
阶乘对m取模之后的值。
徐半仙想让你帮他写一个程序,通过n和m得到他每次修炼之后提升了多少功力。如果这
次修炼后提升的功力为0,输出baigei
输入数据
多组输入,第一行一个正整数t(1 ≤ t ≤ 105)表示数据组数
每组数据包含两个整数n, m(0 ≤ n ≤ 109, 1 ≤ m ≤ 109)
输出数据
对于每组数据,如果答案为0,输出baigei,否则输出答案(每次修炼后提升的功力)
样例输入
1234522 65532 2
样例输出
1232baigei
提示
在样例中,(2!!!) = ...
BFS练习
A - Red and Black
There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can’t move on red tiles, he can move only on black tiles.
Write a program to count the number of black tiles which he can reach by repeating the moves described above.
Input
The input consists of multiple data sets. A data set starts with a line containing two positive integers W and H ...
浅谈矩阵快速幂
集训开始了对矩阵快速幂的讲解,但是讲解的非常不好,基本没讲,这导致我这个之前就不知道矩阵快速幂的蒟蒻不得不自己乖乖的去网上查资料学习,找到了两个比较不错的视频讲解,具体可以看清单里面的转载,我来记录一下矩阵快速幂的基本用法🐷
矩阵乘法学习过线性代数或者离散数学的应该都知道矩阵之间的乘法怎么做,知道的可以跳过,矩阵相乘有一个前提条件,就是前一个矩阵的列数必须等于后一个矩阵的行数两个矩阵才能做乘法运算,这是因为矩阵是不满足交换律的,他们相乘得到的矩阵的元素等于这个元素所在的行对应第一个矩阵的行元素依次乘以这个得到的矩阵元素列数对应第二个矩阵的列元素,很绕口,举个例子,假如两个矩阵相乘后得到了新的矩阵,这个矩阵的第一个元素是在第一行第一列对吧,那么这个元素就是第一个矩阵的第一行和第二个矩阵的第二列元素依次相乘再累加的结果,这样你就知道为什么第一个矩阵的列数必须和第二个矩阵行数相同了吧。
那在纸上你肯定会算了,怎么把它转化成代码呢?
CODE123456789101112131415161718192021222324252627282930struct mat{ ll m[2 ...
贪心与二分
被虐惨了,各种调试与超时或者看不懂题🐷
Strange fuction
Now, here is a fuction:F(x) = 6 x^7+8x^6+7x^3+5x^2-y*x (0 <= x <=100)Can you find the minimum value when x is between 0 and 100.
Input
The first line of the input contains an integer T(1<=T<=100) which means the number of test cases. Then T lines follow, each line has only one real numbers Y.(0 < Y <1e10)
Output
Just the minimum value (accurate up to 4 decimal places),when x is between 0 and 100.
Sample Input
123>2>100>200
Sample ...
集训前缀和与差分
程序设计:蒜头君的数轴题目来源 :点击我
今天蒜头君拿到了一个数轴,上边有 n 个点,但是蒜头君嫌这根数轴不够优美,想要通过加一些点让它变优美,所谓优美是指考虑相邻两个点的距离,最多只有一对点的距离与其它的不同。
蒜头君想知道,他最少需要加多少个点使这个数轴变优美。
输入格式
输入第一行为一个整数 n(1 <=n ,q<= 10^5)(1≤n≤105),表示数轴上的点数。
第二行为 n个不重复的整数
x1,x2,…, xn (−109≤xi≤109),表示这些点的坐标,点坐标乱序排列。
输出格式
输出一行,为一个整数,表示蒜头君最少需要加多少个点使这个数轴变优美。
样例输入
41 3 7 15
样例输出
1
分析题目很简单,意思就是在一个数轴给你n个点,让在数轴上添加最少的点使得任意两点之间距离都相等(允许一组点间距和其他不等)。
这道题目用到了gcd,如果不考虑允许一组间距和其他的不相等的情况的话,那么就应该把所有区间都变成长度为gcd(所有点间距)(下面用gcd代替),现在允许一组不等,那么可以枚举这n-1个区间,删除一个区间看看此时需要添加的最小点数量是多少,取其 ...
STL集训典型题目
自己找题,做课件,还得学习新的东西,不得不说确实挺费时间的,光找找题目就花了2个小时左右,还是因为自己的题量少的原因,只能去搜一些题目自己再做做,不过粘贴题目AC的感觉真的美妙🐷
Running MediansFor this problem, you will write a program that reads in a sequence of 32-bit signed integers. After each odd-indexed value is read, output the median (middle value) of the elements received so far.
Input
The first line of input contains a single integer P, (1 ≤ P ≤ 1000), which is the number of data sets that follow. The first line of each data set contains the data set number, followed ...
集训第一天
紧张刺激而又枯燥的集训开始了🐷
problem1题目链接
一道思维题,很容易想到从大往小减,这是一个误区,可以这样思考,任意两个数如果差为偶数一定是满足题目要求的,当这两个数高度相同时就可以看成一棵树了,再让这个数去和其他的数比较,当差又是偶数时便又满足题目要求,便可以得出规律,只要给定序列任意两个数相差为偶数便满足题意
CODE123456789101112131415161718192021222324252627282930313233343536373839#include <stdio.h>#include <iostream>#include <string>#include <string.h>#include <map>#include <queue>#include <stack>#include <algorithm>#include <vector>#include <set>#define PI acos(-1)#define ios i ...
浅谈01背包和完全背包
今天做了查并集和01背包结合的一道题,致使我对背包开始了学习
前言背包问题属于动态规划里面的一大块内容,包括九讲,本文主要讲01背包和完全背包
两个背包差别在于01背包每一个物品只能选一次,完全背包则可以选无限次,只要背包容积足够
01背包结合题目进行讲解
01背包问题
有 NN 件物品和一个容量是 VV 的背包。每件物品只能使用一次。
第 ii 件物品的体积是 vi,价值是 wi。
求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。
输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。
接下来有 NN 行,每行两个整数 vi,wi,用空格隔开,分别表示第 ii 件物品的体积和价值。
输出格式输出一个整数,表示最大价值。
数据范围
0
解决Leancloud流控问题
文章背景
因为明天要考科目一了,本来是打算明天下午写这篇文章的,可是Acm训练要开始了,所以决定提前写了吧,明天考完直接投入复习算法的学习中🐷哎,魔鬼月要开始了!
前言之前写过一篇给Leancloud添加自定义邮件回复的文章Click me,令我自责的是教程有一些问题,因为我也是看别人教程去做的,没想到她的那个教程错了,导致我也跟着错了。。ADMIN_URL这个值不是填博客地址,这个跟邮件回复没有半点关系,不加这个参数也行,这个参数是用来实行自唤醒任务用的,具体看文章吧,在这里跟我教错的网友说一声抱歉
正文Leancloud最近实行了流控: 自唤醒任务是无法唤醒已经休眠的机器的,所以要想任何时候都能收到邮件就需要早上手动唤醒一次机器,接下来交给自唤醒任务就行了,不过每天都手动唤醒也是挺烦的,所以就有大佬站出来了,原作者,这位大佬直接解决了这个问题,在短时间内众多网友纷纷效仿,Leancloud流控问题彻底解决
首先你要确保你的Leancloud是正常的,如果你的Leancloud是国内版本的,我劝你换成国际版本的,因为国内版本绑定Web域名是需要备案的,而备案有需要服务器,你总 ...