头像

Cieu




离线:16小时前



Cieu
4天前
#include <iostream>
#include<algorithm>
using namespace std;

void s(int *a,int *b)
{
    printf("%9d %9d\n",a,b);
    printf("%4d %10d\n",*a,*b);
    swap(a,b);//这里不是很理解 求解答 谢谢
    printf("%9d %9d\n",a,b);
    printf("%4d %10d\n",*a,*b);
    /*
输入 3 4
输出如下
1646778360 1646778364
    3          4
1646778364 1646778360
    4          3
    */

}
int main()
{
    int a,b;cin>>a>>b;
    s(&a,&b);
}



Cieu
6天前

题目链接 https://www.luogu.com.cn/problem/P3382
只过了样例 其他全wa了

奉上一组正确的测试数据
输入
11 0.25772881 3.23473312
6.46168846 106.20415243 555.00937049 95.77925452 -8932.85681491 -28032.97480712 -4981.77106419 112724.58269050 179518.01283243 44583.62090007 -66153.73991757 -21.09453684
输出
1.75481664201934

#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define memset(a,b) memset(a,b,sizeof(a))
#define endl '\n'
typedef long long ll;
typedef unsigned long long ull;
const double pi = acos(-1.0);
const int MOD=1000000007;
const int INF=0x3f3f3f3f;
//10 61109567  21 22219134 0x3f
int dx[]={-1,0,1,0},dy[]={0,1,0,-1};
int n,a[20];
double f(double x)
{
    double ans=0;
    for(int i=n;i>=0;i--)
        ans+=a[i]*pow(x,i);
    return ans;
}
int main()
{
    ios;double l,r;cin>>n>>l>>r;
    for(int i=n;i>=0;i--)
        cin>>a[i];
    while(r-l>1e-7)
    {
        double mid=(l+r)/2;
        if(f(mid+1e-7)>f(mid-1e-7)) l=mid;
        else r=mid;
    }
    printf("%.7lf",l);
}


问题 字典树

Cieu
10天前

acwing 142 前缀统计

#include<iostream>
using namespace std;
char s[1000100];
int son[1000100][26],num[1000100],idx;
void insert(char *s)
{
    int p=0;
    for(int i=0;s[i];i++)
    {
        int &u=son[p][s[i]-'a'];
        if(!u) u=++idx;
        p=u;
    }
    num[p]++;///想问一下这个具体含义是什么/////num数组存放的是什么东西//////为什么不能写成num[p]=1
}
int find(char *s)
{
    int res=0,p=0;
    for(int i=0;s[i];i++)
    {
        int &u=son[p][s[i]-'a'];
        if(!u) break;
        p=u;res+=num[p];///这里不能写成res++?   ovo 感觉我还是没理解字典树啊啊啊
    }
    return res;
}
int main()
{
    int n,m;cin>>n>>m;
    while(n--) cin>>s,insert(s);
    while(m--)
    {
        cin>>s;
        cout<<find(s)<<endl;
    }
}


活动打卡代码 AcWing 142. 前缀统计

Cieu
10天前
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define memset(a,b) memset(a,b,sizeof(a))
#define endl '\n'
typedef long long ll;
typedef unsigned long long ull;
const double pi = acos(-1.0);
const int MOD=1000000007;
const int INF=0x3f3f3f3f;
//10 61109567  21 22219134 0x3f
int dx[]={-1,0,1,0},dy[]={0,1,0,-1};
int son[2000010][26],num[2000010],idx;
void insert(string &s)//插入
{
    int p=0;
    for(int i=0;s[i];i++)
    {
        int u=s[i]-'a';
        if(!son[p][u]) son[p][u]=++idx;
        p=son[p][u];
    }
    num[p]++;
}
int find(string &s)//查询
{
    int ans=0,p=0;
    for(int i=0;s[i];i++)
    {
        int u=s[i]-'a';
        if(!son[p][u]) break;
        p=son[p][u];
        ans+=num[p];
    }
    cout<<ans<<endl;
}
int main()
{
    ios;int n,m;string s;cin>>n>>m;
    while(n--)
        cin>>s,insert(s);
    while(m--)
        cin>>s,find(s);
}


分享 云剪切板

Cieu
11天前

1



活动打卡代码 AcWing 3257. 跳一跳

Cieu
12天前
#include<iostream>
using namespace std;
int main()
{
    int n,s=0,sum=0;
    while(cin>>n,n){
        if(n==1) sum++,s=1;
        else{
            if(s==1) s--;
            sum+=s+2;s+=2;
        }
    }
    cout<<sum;
}


活动打卡代码 AcWing 3227. 折点计数

Cieu
13天前
#include<iostream>
using namespace std;
int a[1100];
int main()
{
    int n,num=0;cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    for(int i=2;i<n;i++)
        if((a[i-1]>a[i]&&a[i+1]>a[i])||(a[i-1]<a[i]&&a[i+1]<a[i])) num++;
    cout<<num;
}


活动打卡代码 AcWing 3232. 最大波动

Cieu
13天前
#include<iostream>
#include<algorithm>
using namespace std;
int a[1100];
int main()
{
    int n,maxx=0;cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        maxx=max(maxx,abs(a[i]-a[i-1]));
    }
    cout<<maxx;
}


活动打卡代码 AcWing 3208. Z字形扫描

Cieu
14天前
#include<iostream>
using namespace std;
int a[510][510];
int main()
{
    int n;cin>>n;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            cin>>a[i][j];
    int x=1,y=1,f=true;
    cout<<a[x][y]<<" ";
    while(x!=n||y!=n)
    {
        if(f) x--,y++;
        else x++,y--;
        if(x<1) x=1,f=!f;
        if(y<1) y=1,f=!f;
        if(x<=n&&y<=n) cout<<a[x][y]<<" ";
    }
}



活动打卡代码 AcWing 3203. 画图

Cieu
15天前
#include<iostream>
#include<algorithm>
using namespace std;
int a[110][110];
int main()
{
    int n,x1,y1,x2,y2;cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x1>>y1>>x2>>y2;
        for(int k=x1+1;k<=x2;k++)
            a[k][y1+1]++,a[k][y2+1]--;
    }
    int num=0;
    for(int i=1;i<=100;i++)
        for(int j=1;j<=100;j++)
        {
            a[i][j]=a[i][j-1]+a[i][j];
            if(a[i][j]) num++;
        }
    cout<<num;
}