首页 > 其他分享 >C - 343

C - 343

时间:2024-03-02 23:44:05浏览次数:23  
标签:cubic ll 方根 abc343 https 343

C - 343

https://atcoder.jp/contests/abc343/tasks/abc343_c

 

思路

先找出最大三次方数,次数小于或者等于 n,

参考:

在三次方根的可能范围内,使用二分查找法,定位最大的三次方根

https://www.cnblogs.com/Ghost-Knight/p/17970849

 

从此最大的三次方根开始,向下枚举, 枚举过程中对 三次方数进行是否回文的判定,

如果是回文,则停止。

 

Code

https://atcoder.jp/contests/abc343/submissions/50830008

ll n;
ll low = 0;
ll high = 1000000;

int main()
{
    cin >> n;
    
    ll left = 0;
    ll right = high;

    while(left < right-1){
//        cout << "left="<<left << " right="<<right<<endl;
        
        ll middle = (left + right) / 2;
        
        ll cubic = middle*middle*middle;
        if (cubic == n){
            left = middle;
            break;
        } else if (cubic < n){
            left = middle;
        } else {
            right = middle;
        }
    }
    
//    cout << "left = " << left << endl;
    
    for (ll i=left; i>=0; i--){
        ll cubic = i*i*i;
        ll cubic_origin = cubic;
        
        vector<int> digits;
          while(cubic){
            int r = cubic%10;
            digits.push_back(r);
            
            cubic = cubic / 10;
        }
        
//        cout << "digits ====" << endl;
//        for(auto one: digits){
//            cout << one << " ";
//        }
//        cout << endl;
        
        bool ishuiwen = true;
        int left = 0;
        int right = digits.size() - 1;
        while(left < right){
//            cout << "digits[left]="<<digits[left]<< endl;
//            cout << "digits[right]="<<digits[right]<< endl;
            
            if (digits[left] != digits[right]){
                ishuiwen = false;
                break;
            }
            
            left++;
            right--;
        }
        
//        cout << "ishuiwen=" << ishuiwen << endl;
        if (ishuiwen){
            cout << cubic_origin << endl;
            break;
        }
    }

    return 0;
}

 

标签:cubic,ll,方根,abc343,https,343
From: https://www.cnblogs.com/lightsong/p/18049476

相关文章

  • ABC343
    T1:WrongAnswer模拟代码实现a,b=map(int,input().split())c=a+bifc==0:print(1)else:print(0)T2:AdjacencyMatrix模拟代码实现n=int(input())a=[list(map(int,input().split()))foriinrange(n)]foriinrange(n):print(*[j+1f......
  • AtCoder Beginner Contest 343:起航
    AtCoderBeginnerContest343:起航2024/3/2/22:53有点儿晚了,简单总结一下。前4题都很基础,一点点小思维,其中C题边界又盲目追求刚刚好,WA了一次,总结经验,程序实际设计应该略微大于数据范围。EFG开始就做不动了,只剩了20多分钟,先通读然后看E题,E题读了半天发现大概是体积交并反......
  • AtCoder Beginner Contest 343
    B-AdjacencyMatrix难度:⭐题目大意给定一个无向图的邻接矩阵,问每个节点都和哪些节点相练;解题思路没啥好说的;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#defineendl'\n'......
  • AtCoder Beginner Contest 343(小白来了)
    A-WrongAnswer思路:给你两个数(A,B0~9)输出非A+B(0~9)解法:许多(A+B)^1等等Code:#include<iostream>usingnamespacestd;intmain(){intA,B;cin>>A>>B;cout<<!(A+B);return0;}B-AdjacencyMatrix思路......
  • p3435-solution
    P3435Solutionlink画个图:显然四个黄色部分是相等的。也就是说,黄色部分是A的一个border。根据题目,周期的长度也就是Q的长度,也就是A的长度减去它的某个border的长度。现在要求这个最大,由于A的长度固定,要求的也就是A的最小border长度。根据KMP求出来的nxt......
  • day40 动态规划part3 代码随想录算法训练营 343. 整数拆分
    题目:343.整数拆分我的感悟:题目很难,但我动力十足!!理解难点:如何拆分为什么要保留dp[i]听课笔记:代码示例:classSolution:defintegerBreak(self,n:int)->int:#思路:#dp[i]是到目前为止能拆分取的最大值#dp[i]可以拆成j*(集合)......
  • P3435
    P3435设\(Q=a[1,i]\),左端绿色虚线终点为j则\(a[1,j]==a[i+1,n]\),因为他们位于Q的相同位置联想到kmp的next数组\(len_Q=n-next[j]\)只要找到最小的且非0的\(next[j]\)就可以最大化\(len_Q\)类似失配时的操作,递归找j对应的最小next......
  • ACwing343.排序
    1.Floyd写法:#include<cstring>#include<iostream>#include<algorithm>usingnamespacestd;constintN=26;intn,m;boold[N][N];boolst[N];intcheck(){for(inti=0;i<n;i++)if(d[i][i])re......
  • 代码随想训练营第三十九天(Python)| 62.不同路径、63. 不同路径 II、343. 整数拆分
    62.不同路径classSolution:defuniquePaths(self,m:int,n:int)->int:#dp[i][j]代表到达dp[i][j]有多少不同路径dp=[[0]*nfor_inrange(m)]#初始化foriinrange(m):dp[i][0]=1forjinra......
  • debian12 安装ch343驱动
    前言最近心血来潮,装了一台debian12玩,安装完毕arduino后发现没有ch343驱动,倒是在ls/lib/modules/6.1.0-13-amd64/kernel/drivers/usb/serial/找到了ch341.ko,现在尝试自己安装ch343驱动正文安装过程主要参考了这篇博客:CH342/CH343/CH344/CH347/CH9101/CH9102/CH9103/CH910......