纪中学习之(第七季)DAY SEVEN

前言

今天一早就起床了,洗漱好后,便和宿友们一起去饭堂吃汤粉去了(真好吃)······


今天做了四道题

第一题

题目大意

你的任务是计算在1至n内的正整数,有多少正整数是“合法”的?
所谓的“合法”是指:该整数属于上面给定的等差数列的某项或者属于等比数列的某项,或者既属于等差数列的项也属于等比数列的项…


输入样例

1 1 1 2 1000

输出样例

1000


解题思路

这道题目其实就是模拟加暴力
然后就判断一下特殊的情况即可

程序如下

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
long long a,b,c,d,n,ans;
int main()
{
	freopen("shulie.in","r",stdin);
	freopen("shulie.out","w",stdout);
	scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&n);
	if(d!=1)//如果d等于1的话,乘起来就没意思了 还浪费空间
	{
		for(long long i=c;i<=n;i*=d)//不断相乘
		  if(i<a||(i-a)%b!=0)
		  {
			ans++;
		  }
	}
	else
	if((c-a)%b!=0&&c<=n||(c<a)&&c<n) 
	{
	    ans=1;
	}
    if(n>=a)
	{
	    ans+=(n-a)/b+1;
	} 
	printf("%lld",ans);
	fclose(stdin);
	fclose(stdout);
	return 0;
}



第二题

题目大意

在二维平面坐标轴里面,有N只蚂蚁,第i只蚂蚁所在的点的坐标是(xi, yi),坐标都是整数。所有蚂蚁的移动速度都相等,都是每秒移动1个单位。每只蚂蚁都有一个固定的移动方向,是如下4种方向之一,都是平行于坐标轴的
N表示向北(即朝上)
l E表示向东(即朝右)
l S表示向南(即向下)
l W表示向西(即向左)
当2只或多只蚂蚁在某个时刻碰撞到一起,那么这些蚂蚁都会立即消失。当所有的碰撞结束后,还有多少只蚂蚁存在?


输入样例

4

NWNE

0 0

10 10

20 20

30 30

输出样例

2


解题思路

这道题要注意一个点就是你枚举的时候要0.5的不断加,因为要避免一些特殊情况




第三题

题目大意

现在你的任务是:有多少种不同的选择方案,使得“费用”不小于给定的数min,而且不大于给定的数max,即“费用”在范围内有多少种不同的选择方案。答案模1000000007。所谓的两种不同方案是指:只要它们选中的单元格有一个不同,就认为是不同的方案。


输入样例

3 3 1 20000

输出样例

6




第四题

题目大意

(1)每棵小草都长高了,第i棵小草长高的高度是grow[i]。
(2)Bessie选择其中一棵小草并把它剪平,这棵小草高度变为0。注意:这棵小草并没有死掉,它下一秒还会生长的。
(3)Bessie计算一下这N棵小草的高度总和,如果不超过H,则完成任务,一切结束, 否则轮到下一时刻。
你的任务是计算:最早是第几时刻,奶牛Bessie能完成它的任务?如果第0时刻就可以完成就输出0,如果永远不可能完成,输出-1,否则输出一个最早的完成时刻。


输入样例

3 16

5 8 58

2 1 1

输入样例

1




今天就到这了······

明天继续更新·································

距离纪中培训倒计时3天(也就是更新到第10季)

敬请期待······

多多关注

谢谢········

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值