B.Continued Fraction(签到题)
题目链接
题目大意:就是告诉你一个分数的分子和分母,能约的就约,直到分子为1
思路:简单的模拟
#include<iostream>
#include<algorithm>
#define ll long long
const ll Max=1e8
+1;
const ll mod=1e9+7;
using namespace std;
ll a[Max];
int main()
{
ll t,n,m;
cin>>t;
while(t--)
{
cin>>n>>m;
ll sum=1,w=m,j=1;
a[0]=n/m;
n=n-a[0]*m;
while(n!=1)
{
swap(m,n);
a[j]=n/m;sum++;
n-=a[j++]*m;
w=m;
}
printf("%lld ",sum);
for(int i=0;i<sum;i++)
{
printf("%lld ",a[i]);
}
printf("%lld\n",w);
}
}
K.Many Littles Make a Mickle(签到题)
这个题没啥说的,真水啊
#include<iostream>
#include<algorithm>
#define ll long long
const ll Max=100010;
const ll mod=1e9+7;
using namespace std;
ll a[Max];
bool cmp(ll a,ll b)
{
return a>b;
}
int main()
{
ll t,n,sum=0;
cin>>t;
while(t--)
{
ll x1,y1,x2=0,y2;
cin>>x1>>y1;
for(int i=1;i<=x1;i++)
{
x2+=i*i*y1;
}
cout<<x2<<endl;
}
}
L.It Rains Again
运用了差分和前缀和
#include<iostream>
#include<algorithm>
#define ll long long
const ll Max=100010;
const ll mod=1e9+7;
using namespace std;
ll a[Max];
ll sun[Max];
bool cmp(ll a,ll b)
{
return a>b;
}
int main()
{
ll t,n,sum=0;
cin>>t;
while(t--)
{
ll x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
a[x1]++;
a[x2]--;
}
for(int i=1;i<Max;i++)
{
a[i]+=a[i-1];
if(a[i])
sum++;
}
cout<<sum<<endl;
}