D

有两个长度为 n−1 的序列,b=(b2,b3,…,bn), c=(c2,c3,...,cn)。 这里,每个 bi ,ci 都是一个非负整数。 现在,序列 a=(a1,a2,…,an)当且仅当 for所有的i ( 2≤i≤n), bi=ai−1 or ai, ci=ai−1+ai并且每个 ai 是一个非负整数。 现在,Toilet-Ares 要求您计算美丽序列的数量。

第一行包含一个整数 n (2≤n≤105)- 序列 a 的长度。

第二行包含 n−1个整数 b2,b3,...,bn (0≤bi<230)- 序列 b 的元素。

第三行包含 n−1个整数 c2,c3,...,cn (0≤ci<231)- 序列 c的元素。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6+10;
int b[maxn], c[maxn], d[maxn];
int main(){
    int n;  cin>>n;
    for(int i=2; i<= n; i++)cin>>b[i];
    for(int i=2; i<= n; i++)cin>>c[i],d[i]=c[i]-b[i];
    int ans = 1;
    for(int i=0; i< 31; i++)
{ int x=1, y=1; for(int j=2; j<=n; j++)
{ int w1=(b[j]>>i)&1, w2=(d[j]>>i)&1; int tx=0, ty=0; if(w2==1 &&w1==1)tx=0,ty=y; if(w2==0 &&w1==1)ty=x,tx=y; if(w2==1 &&w1==0)ty=0,tx=0; if(w2==0 &&w1==0)tx=x,ty=0; x=tx, y=ty; } ans *= (x+y); } cout<<ans<<"\n"; return 0; }
有传言说,在主要闰年,阴影会上升。 质数闰年是闰年,年份编号也是质数。 Toilet-Ares 最近学习了闰年和质数的定义。
给定一个特定的年份数字,他想知道它是否是一个主要的闰年。 回顾 · 能被4整除的年份都是闰年,但能被100整除的年份除外,但如果这些百年年份能被400整除,则为闰年; · 质数(或质数)是大于 1 且不是两个较小正整数的乘积的正整数。
发现全都不是
#include <iostream>
#include <cstdio>
using namespace std;
 
int T;
int a;
 
int main(){
    cin>>T;
    while (T--)
    {
        cin>>a;
        cout<<"no"<<endl;
    }
    return 0;

}
K
在遥远的梦想星球上,Toilet-Ares 正在收拾东西和回忆,准备开始新的冒险公路旅行。 驾驶技术出众,行车路线可以是线段、曲线、折线,也可以是封闭的(端到端),甚至可以自相交,只要路线是连续的。 奇怪的是,燃料容量可以支持 π\piπ km 行驶。 因此,该路线的最大总长度为 π\piπ km。 这颗行星的表面广阔而平坦,足以被视为一个平面。 由经度和纬度构成的笛卡尔坐标系用于描述地球上的每个地理位置。 每 www 公里,画一条经度相等的点线,命名为子午线。 类似地,每 ddd 公里,绘制一条纬度相等的点线,命名为平行线。 请注意,无数子午线垂直于无数平行线,构建了一个称为经纬网的网格,将平面划分为无限的单元格。 那里的居民习惯于将这些细胞定义为区域,并且为了避免冲突,经线或纬线的位置不属于任何区域。 有很多不同种类的风景可以看,可以欣赏,可以体验。 Toilet-Ares 在地球上的任意位置启动驱动器。 每当第一次经过一个区域时,Toilet-Ares 都会记住它的视觉特征(它总是与任何其他区域区分开来)。 因此,Toilet-Ares 可以很容易地计算出公路旅行结束时访问过的区域数量。 例如,在下面显示的两种情况下,沿路线访问了四个不同的区域。
牛客第八场_i++

 

俗话说“有志者事竟成”。 Toilet-Ares 总是试图弄清楚在整个公路旅行中最多可以访问多少个不同的区域。 而你,作为朋友,是来回答这个问题的。

#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
const double PI = acos(-1);
int main()
{
    int T;cin>>T;
    while(T--)
    {
        double a1,b1;
        scanf("%lf%lf",&a1,&b1);
        double a = min(a1,b1);
        double b = sqrt(a1*a1+b1*b1);
        int ans = 4;
        for(int i=0;i<=2;i++)
        {
            if(i*a<=PI) ans = max(ans,4+i*2+(int)((PI-i*a)/b)*3);
            if(i*b<=PI)ans = max(ans,4+i*3+(int)((PI-i*b)/a)*2);
        }
        printf("%d\n",ans);
    }
    return 0;
}