自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 符合最短路的最小生成树(总觉得名字起得很别扭)

提交链接题目描述:你知道黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度。城堡是树形的并且满足下面的条件:设 Di为如果所有的通道都被修建,第 i 号房间与第 1 号房间的最短路径长度;而 Si为实际修建的树形城堡中第 i号房间与第 1 号房间的路径长度;要求对于所有整数 i (1≤i≤N),有 Si=Di 成立。你想知道有多少种不同的城堡修建方案。当然,你只需要输出答案对 2^31−1 取模之后的结果就行了。Input第一行为两个由空格隔开的整数 N,M;第二行到

2020-12-03 10:01:52 4

原创 巴什博弈(Bash Game)---普通版

题目1:提交链接题目1:有一堆石子共有n个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿m颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出n和m,问最后谁能赢得比赛。例如n = 3,m =2。无论A如何拿,B都可以拿到最后1颗石子。Input第1行:一个数T,表示后面用作输入测试的数的数量(1 <= T <= 10000)。 第2 至T+1行:每行2个数N,K,中间用空格分隔(1 <= N,K <= 10^9)。Output共T行

2020-11-29 13:11:54 5

原创 素数判断---时间细节

L1-028 判断素数 (10分)提交链接本题的目标很简单,就是判断一个给定的正整数是否素数。输入格式:输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2^​31的需要判断的正整数。输出格式:对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。输入样例:211111输出样例:YesNo注意:对于这题,下面的判断素数函数会超时,应该是每次的i*i会花费不少的时间int judge(int n){ if(n==1) return 0

2020-11-23 10:00:07 18

原创 前缀和后缀的对称长度(双哈希)

题目描述提交链接给定若干字符串(这些字符串总长<=4*10^5),在每个字符串中求出所有既是前缀又是后缀的子串长度。例如:ababcababababcabab,既是前缀又是后缀的:ab,abab,ababcabab,ababcababababcabab。输入格式输入若干行,每行一个字符串。输出格式对于每个字符串,输出一行,包含若干个递增的整数,表示所有既是前缀又是后缀的子串长度。样例输入ababcababababcababaaaaa样例输出2 4 9 181 2 3 4 5

2020-11-22 13:16:16 5

原创 单源最短路:单向边的来回最短路的运用

题目提交链接One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1…N is going to attend the big cow party to be held at farm #X (1 ≤ X ≤ N). A total of M (1 ≤ M ≤ 100,000) unidirectional (one-way roads connects pairs of farms; road i requires Ti (1

2020-11-22 08:58:57 18

原创 多源最短路径Floyd-Warshall算法

Floyd-Warshall算法:求任意两点之间的最短距离问题描述:小哼准备去一些城市去旅游。有些城市之间有公路,有些则没有,为了节省经费以及方便旅程,小哼希望在出发之前知道任意两个城市之间的最短路程。**对上述黑体字稍作解释:**这表明任意两个城市不一定可以互达,假设城市1和城市2之间没有公路,而城市1与城市3之间有公路,城市3与城市2之间有公路,这就意味着从城市1到城市2的路程并不是无穷大的,无穷大的定位为两个城市永不可到达。Floyd-Warshall代码for(k=1;k<=n;k+

2020-11-19 20:19:44 19

原创 字符串B在A出现的次数(不取模+取模的模板)

题目链接给定一个字符串 A 和一个字符串 B,求 B 在 A 中的出现次数。A 中不同位置出现的 B 可重叠。Input输入共两行,分别是字符串 A 和字符串 B。Output输出一个整数,表示 B 在 A 中的出现次数。Sample InputzyzyzyzzyzSample Output3HINT1≤A,B 的长度 ≤10e6 ,A 、B 仅包含大小写字母。分析:**字符串问题:一般有哈希和Kmp两种做法**字符串Hash(哈希): 所求的问题:求字符

2020-11-06 18:13:00 22

原创 不一样放牌游戏

题目1(整数拆分)将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,...编程求出正整数N的所有整数分解式子。输入格式:每个输入包含一个测试用例,即正整数N (0<N≤30)。输出格式:按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N1={n1,n2,⋯}和N2={m1,m2,⋯},若存在i使得n1=m1,⋯,ni=mi,但是n(i+1)<m(i+1),则N1序列必定在N​2序列之前输出。每个式子由小到大

2020-10-24 13:35:27 44

转载 填方格(又是靠全排列解法)

转载:https://blog.csdn.net/qq_34202873/article/details/79569451如图,如下的10个格子,填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。答案:1580解题思路:利用c++的全排列函数,然后写个judge函数来判断一下相邻的数字是不是连续的就可以了,条件写的时候比较麻烦罢了。使用全排列函数时一定是数组元素如果是从小到大排序,使用do while结构可以输

2020-10-13 18:29:49 14

原创 这就是选择排序的问题

有N个瓶子,编号 1 ~ N,放在架子上。比如有5个瓶子:2 1 3 5 4要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式为两行:第一行: 一个正整数N(N<10000), 表示瓶子的数目第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。...

2020-10-13 17:33:00 49

原创 多人中挑人全排列深搜法

抽签X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。….那么最终派往W星的观察团会有多少种国别的不同组合呢?下面的程序解决了这个问题。数组a[] 中既是每个国家可以派出的最多的名额。程序执行结果为:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFFFBDFFFBDEFFBCFFFBCEFFBCDFFBCDEF….(以下省略,总共101行)答案

2020-10-13 16:42:22 13

转载 原来全排列还可以这样用

转载:2016年第七届蓝桥杯题目汇总凑算式这个算式中A~I代表1~9的数字,不同的字母代表不同的数比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。解题思路:1-9的全排列,我太捞了,这都没有想到方法一(容易想):利用c++中的全排列函数next_permutation()全排列一下1-9方法二(速度快):深度优先遍历解法(1-9的全排列)方法1:#in

2020-10-13 15:26:44 15

转载 生日蜡烛(利用公式,短而精)

生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? (第七届蓝桥杯B组)#include<stdio.h>int main(){ int i,j; for( i=1;i<=100;i++) { for( j=i;j<=100;j++) { if((i+j)*(j-i+1)/2==23

2020-10-13 14:27:47 19

原创 给年月日判断星期几

星期几给定一个1900~2100范围内日期,输出这个日期是星期几。数据有多组。如使用简化公式需证明其正确性(注解形式)。输入格式:输入数据的数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。输出格式:对于每组输入数据,输出一行,表示该日期是星期几英文单词。输入样例:2011/11/17输出样例:thursday具体的定位某年的一月一号是星期几的话有专门的科学家做过研究并总结出了很多推算方法的,这个是比较简单...

2020-10-12 18:13:37 222

原创 给年月,制月历

编写程序,输入年份和月份, 输出该月的月历。输入格式:在一行中输入年和月. 年范围为(正整数),月(1~12)。输出格式:输出该月的月历。每日的输出字符宽度为8 ,每行每日之间不再设间距,右对齐.所有空白部分均填充为空格字符.注意月份最后的哪个日期后面没有多余空格和换行符。输入样例:在这里给出一组输入。例如:2018 8输出样例:在这里给出相应的输出。例如:每个日期占据8个字符宽度. SUN MON TUE WED THU FRI SAT

2020-10-12 17:52:52 46

转载 日期+天数,求日期

星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。每个炸弹都可以设定多少天之后爆炸。比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19请严格按照格式书写。不能出现其它文字或符号答案:2017-08-05转载:FISHers工具实现代码

2020-10-12 17:44:46 10

原创 不要4(简单)

奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。答案:52488暴力代码:#include<stdio.h>int main(){ int i,g,s,b,q,w; int ans

2020-10-12 16:51:24 17

原创 思维题:蚂蚁感冒

资源限制时间限制:1.0s 内存限制:256.0MB问题描述  长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。输入格式  第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。接着的一行是n个用空格分开的整数

2020-10-12 16:28:05 19

原创 广搜版本全图最短路(一点到别点的最短路)

给定一个N x M的01矩阵,其中1表示陆地,0表示水域。对于每一个位置,求出它距离最近的水域的距离是多少。矩阵中每个位置与它上下左右相邻的格子距离为1。Input第一行包含两个整数,N和M。以下N行每行M个0或者1,代表地图。数据保证至少有1块水域。对于30%的数据,1 <= N, M <= 100对于100%的数据,1 <= N, M <= 800Output输出N行,每行M个空格分隔的整数。每个整数表示该位置距离最近的水域的距离。Sample Input4

2020-10-07 13:49:22 28

原创 循环数组求下标

给定包含N个整数的数组A1, A2, … AN,你可以选择任意一个Ai,将Ai旋转到数组第一项,即将数组变成:Ai, Ai+1, Ai+2, … AN, A1, A2, …, Ai-1现在小Hi希望旋转之后的数组满足:对于任意K(1 ≤ i ≤ N),前K项的和都是正数。例如对于A=[3, -5, 2, -2, 3, 0],旋转成[3, 0, 3, -5, 2, -2]满足条件。请你输出i,代表将Ai旋转到第一项满足条件。如果有多解,你可以输出任意一个i。如果无解输出-1。Input第一行包

2020-10-04 15:27:48 30

原创 求n^k的前任意位和后任意位

You are given two integers: n and k, your task is to find the most significant three digits, and least significant three digits of nk.**InputInput starts with an integer T (≤ 1000), denoting the number of test cases.Each case starts with a line containi

2020-10-04 13:55:13 19 1

原创 求最大连续子序列之和(记录下标位置)

求最大连续子序列和HDU - 1003 考虑问题要全面(有许多细节)文章尾部有几条数据题意分析:1.n值很大,不可太多循环,易超时2.最连续子列和一般遵循一遍遍历,举例来说吧,5个数,1 2 -8 4 5遍历1时,sum=1,遍历2时,sum=3,遍历8时,sum=-5<0,那此刻我们记录最大值为3,因为sum<0+m<m,显然这个sum对于后面的相加是没有用的,所以sum置零,然后从4开始重新记录,一遍过即可。3.因为可能所有元素都是负数,那么2中的sum置0显然就不合适了

2020-09-30 16:10:46 46

原创 queue队列模板

题目链接:https://codeforces.com/problemset/problem/540/C题意:这是一个多级冰洞,洞的每一层都是相同的平面一个平面由完整冰和裂缝冰组成, 在一个平面上你可以4个方向进行移动如果移动到裂缝冰,你便会向下跌一层,如果移动到完整冰,你仍可以在这个平面上进行移动,但在走过的完整冰会变为裂缝冰最后,如果可以到达终点Yes,否No思路:(简单的广搜即可)需要注意的是:当你走到终点时,该冰必须为破裂冰,因为你需要从终点跌落下去,如果是完整冰,那你必须再一次走到终

2020-09-27 19:31:01 8

原创 欧拉降幂,快速幂模板

**求a^b%p**1.b不是很大,直接用快速幂板子来写即可**快速幂板子**ll quickpow(ll x,ll y ll z){//x^y%z ll ans=1; while(y) { if(y&1) ans=ans*x%z; x=x*x%z; y>>=1; } return ans;}2.b很大,long long都存不下,就不能直接快速幂了,首先必须让b变小,需要对b取模,但不能直接让b对p取模,这里需对p运用欧拉函数板子改变p的值.

2020-09-27 19:05:50 24 1

原创 经典问题N皇后(简易搜索)

在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample Input1850Sample Output19210#include "stdio.h"#include "m

2020-09-26 14:06:08 12

原创 剪子串,能剪几个

来自暑假集训第三周周赛题一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。Output输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每个结果之间应换行。

2020-09-26 13:30:01 17

原创 欧拉回路(无向边)

欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结束。Output每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。欧拉回路是什么?一张图,n个点,m条边(边可能是有

2020-09-26 13:19:10 46

原创 最基础模版01背包,花最多的钱吃更多的菜

电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Input多组数据。对于每组数据:第一行为正整数n,表示菜的数量。n<=1000。第二行包括n个正整数,表示每种菜的价格。价格不超过50。第三行包括一个正整数m,

2020-09-26 09:31:33 28

原创 记忆化搜索==dfs+剪枝,将滑雪进行到底

Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-1

2020-09-26 09:22:46 20

原创 省钱构建回文串

Keeping track of all the cows can be a tricky task so Farmer John has installed a system to automate it. He has installed on each cow an electronic ID tag that the system will read as the cows pass by a scanner. Each ID tag’s contents are currently a singl

2020-09-26 09:14:42 868

原创 我是侦探,找假币

The "Gold Bar"bank received information from reliable sources that in their last group of N coins exactly one coin is false and differs in weight from other coins (while all other coins are equal in weight). After the economic crisis they have only a simpl

2020-09-26 09:08:12 43

原创 01背包,我可不想被抓啊

The aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guys usually gets caught in the end, often because they become too greedy. He has decided to work in the lucrative business of bank robbery only for a short while, before

2020-09-26 08:58:32 57

原创 求区间最长递减序列(可不连续)

FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possible into a sequence so that the weights are increasing, but the speeds are

2020-09-26 08:38:35 17

原创 dp,求最长公共子序列(可不连续的)

求最长公共子序列(可不连续的)A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, x2, …, xm> another sequence Z = <z1, z2, …, zk> is a subsequence of X if there exists a strictly incr

2020-09-26 08:19:17 12

转载 搜索+剪枝.求最小m%k==0(m会爆long long)

Given two positive integers n and k, you are asked to generate a new integer, say m, by changing some (maybe none) digits of n, such that the following properties holds:m contains no leading zeros and has the same length as n (We consider zero itself a on

2020-09-01 22:27:16 37

原创 线段树

线段树C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第

2020-08-20 12:43:34 62

转载 easy_hard求3的不同幂和的最好数*

##easy_hard求3的不同幂和的最好数Good NumbersThe only difference between easy and hard versions is the maximum value of n.You are given a positive integer number n. You really love good numbers so you want to find the smallest good number greater than or equal to

2020-08-16 22:45:40 34

原创 2020-08-16

/*题意:f(5,1)=4,即5/1=5,5-1=4;f(8,2)=3,即8/2=4,4-1=3;f(7,3)=1,即7/3=2,2-1=1;f(5,4)=0,即5/4=1,1-1=0;求:F(n)=f(n,1)+f(n,2)+f(n,3)+…+f(n,n)=n/1+n/2+…+n/n-n思路:n非常大,暴力会超时,找数试找规律,练思维的题这里先求:n/1+n/2+…+n/n (每个数的结果都是整数,有小数的舍弃小数部分)例:F(9)=n/1+n/2+n/3+n/4+n/5+n/6

2020-08-16 16:52:07 21

原创 数论,水题,n进制

当寒月还在读大一的时候,他在一本武林秘籍中(据后来考证,估计是计算机基础,狂汗-ing),发现了神奇的二进制数。如果一个正整数m表示成二进制,它的位数为n(不包含前导0),寒月称它为一个n二进制数。所有的n二进制数中,1的总个数被称为n对应的月之数。例如,3二进制数总共有4个,分别是4(100)、5(101)、6(110)、7(111),他们中1的个数一共是1+2+2+3=8,所以3对应的月之数就是8。Input给你一个整数T,表示输入数据的组数,接下来有T行,每行包含一个正整数 n(1<=n

2020-07-14 13:17:59 38

原创 数论,水题,反素数

反素数就是满足对于任意i(0<i<x),都有g(i)<g(x),(g(x)是x的因子个数),则x为一个反素数。现在给你一个整数区间[a,b],请你求出该区间的x使g(x)最大。Input第一行输入n,接下来n行测试数据输入包括a,b, 1<=a<=b<=5000,表示闭区间[a,b].Output输出为一个整数,为该区间因子最多的数.如果满足条件有多个,则输出其中最小的数.Sample Input32 31 1047 359Sample Output

2020-07-14 13:12:27 74

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除