摘要:
问题描述 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多 阅读全文
摘要:
传送门 题目大意:几个小朋友围成圈,给i-1个到i小朋友的距离,求离得两个小朋友最远的距离。 题解:直接枚举,o(n^2)范围是1e5超时,考虑尺取或者三分。 分析可知,第i个小朋友到第j个小朋友距离大于j+1个小朋友时,第i+1个小朋友的最远距离要大于到第j个小朋友,由此缩小规模。 #includ 阅读全文
摘要:
传送门 题目大意:每次有两种选择,第一种是得到金钱,消耗魔法值。第二种是得到魔法值,消耗金钱。金钱和魔法值不够消耗时也可以消耗,该值置为0。求金钱*魔法值的最大值。 题解:范围很小,直接dfs爆搜即可。 #include<bits/stdc++.h> using namespace std; con 阅读全文
摘要:
传送门 题目大意:一张彩票3元,每次买都会中奖,金额为1、2、3、4元,概率相等,求买n次彩票时,至少不亏的概率。 题解:统计所有不亏的方案/所有方案,所有方案可以知道是4的n次方,问题主要在求不亏的方案,不亏即中奖的 金额在3n到4n的方案统计。用dp统计方案,dp[i][j]表示第i次购买,中奖 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/5773/B 给一些点的横纵坐标,问最多有多少不平行的直线,其实就是问有多少种斜率。 可以用map,也可以用set map #include<bits/stdc++.h> using namespace std; const i 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/5773/E 求使序列有序的最小交换次数。 找循环节的个数,最小交换次数等于元素个数减掉循环节的个数。 关于算法这里有个比较好的分析https://blog.csdn.net/lfb637/article/details/866 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/5773/A 给一个数列,求第k小的数。 用桶排序,每次遇到一个数加1,从小到大扫一遍,每遇到数列里的数计数加一,等于k时输出。 #include<bits/stdc++.h> using namespace std; cons 阅读全文
摘要:
问题描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿 阅读全文
摘要:
题目大意,每一秒有三种选择,闪现,每次移动60m,消耗10点蓝。 跑步,每次移动17m,不耗蓝。 原地休息,回复4点蓝。 给初始蓝值,目标距离,和时间。问能达的最短时间和不能到达的最远距离。 题解:我们尽量都取闪现的方式,不够量就原地恢复,算出所能到达的最远距离。 再在每一秒比较此距离与上一秒选择跑 阅读全文
摘要:
先贴个整数快速幂 #include<bits/stdc++.h> using namespace std; typedef long long int ll; ll b,p,k,ans=1,res; int main(){ scanf("%lld%lld%lld",&b,&p,&k); cout<< 阅读全文