问你一个字符串能不能均分成两个相同的字串(长度相同)
思路因为长度相同那么奇数长度直接输出-1
,偶数长度分割一下,然后判断一下是否相等即可
#include
using namespace std;
#define ll long long
#define mod 1000000009
ll ksm(ll a,ll b) {
ll ans = 1;
for(;b;b>>=1LL) {
if(b & 1) ans = ans * a % mod;
a = a * a % mod;
}
return ans;
}
ll lowbit(ll x){return -x & x;}
const int N = 2e6+10;
int a[N];
int main()
{
int n;
cin>>n;
for(int i = 1;i >ch;
if(ch.size() & 1) puts("NO");
else{
string ch1,ch2;
ch1 = ch.substr(0,ch.size()/2);
ch2 = ch.substr(ch.size()/2,ch.size());
if(ch1 == ch2) puts("YES");
else puts("NO");
}
}
return 0;
}
B. Squares and Cubes
题意
找出N范围内所有的平方数和立方数
思路可能很多人想的是直接用公式: n 2 + n 3 − n 6 \sqrt[2]{n}+\sqrt[3]{n}-\sqrt[6]{n} 2n +3n −6n ,但是这样会有精度误差,我也是用这个公式各种向上向下取整来调试,最后还是写了循环扫
我们只用处理一下 i ∗ i < = n i * i =1LL) { if(b & 1) ans = ans * a % mod; a = a * a % mod; } return ans; } ll lowbit(ll x){return -x & x;} const int N = 2e6+10; ll n; map vis; int main() { int t; scanf("%d",&t); while(t--) { vis.clear(); ll p2 = 0,p3 = 0,pt = 0; scanf("%lld",&n); ll ans = 0; for(ll i = 1;i n) break; if(!vis[p2] && p2 n; std::cout t; while(t--) { string s,a; cin>>a>>s; bool fg = true; string b = ""; for(int i = a.size()-1,j = s.size()-1;(i >= 0 || j >= 0);--i,--j) { int k ; if(i
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?