wordpress单题问卷,seo关键词排名在线查询,公司简介图片,百科wordpress蓝桥杯2023年第十四届省赛真题-平方差 - C语言网 (dotcpp.com) 初步想法#xff0c;x y2 − z2#xff08;yz)(y-z) 即xa*b#xff0c;ayz#xff0c;by-z 2yab 即ab是2的倍数就好了。 即x存在两个因数之和为偶数就能满足条件。 但时间是#xff08;r-l#xff09;*xx y2 − z2yz)(y-z) 即xa*bayzby-z 2yab 即ab是2的倍数就好了。 即x存在两个因数之和为偶数就能满足条件。 但时间是r-l*x数据1e9直接T了 #includebits/stdc.h
using namespace std;
const int N1e510;
mapint,int mp;
int cnt;bool judge(int x)
{for(int i1;ix;i)//找两个因数 {if(x%i!0) continue;int dx/ii;if(d%20||x1)//说明是整数 {return true; } }return false;
}
signed main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int l,r;cinlr; for(int il;ir;i){if(judge(i)) cnt; }coutcnt;return 0;
}
运行结果 进一步分析 根据题意多写几个不难发现奇数似乎都能拆成y2 − z2的形式因此我们从奇偶的角度来找规律。 (这个地方写错了是 那么在这里就可以得出结论辣。想要数字能表示成y2-z2的形式只有两种可能 1.奇数 2.4的倍数 代码
#includebits/stdc.h
using namespace std;
const int N1e510;
int cnt;signed main()
{int l,r;cinlr; for(int il;ir;i){if(i%2) cnt;if(i%40) cnt;}coutcnt;return 0;
} 这一步还不能过属实有点钻牛角尖了。。。。。
但是好在已知一个数x对应的奇数、4的倍数的数的个数是可以算出来的。 #includebits/stdc.h
using namespace std;
const int N1e510;
int cnt;
signed main()
{int l,r;cinlr; int d(l-1)/2;if((l-1)%20) d--;int pl/4;if((l%4)0) p--;cnt(r-1)/2-dr/4-p;coutcnt;return 0;
}
蓝桥杯2023年第十四届省赛真题-更小的数 - C语言网 (dotcpp.com) 暴力 思路 任取子串起点为i终点为j。 然后运用双指针算法对子串进行判断。如果两边相等就往中间走。如果左边大了说明这个子串反转后会变小如果右边大了说明这个子串反转后会变大。 #includebits/stdc.h
using namespace std;
const int N5e310;
string x;
int cnt;signed main()
{cinx;for(int i0;ix.length();i){for(int ji1;jx.length();j){int li,rj;while(lr){if(x[l]x[r]) break;if(x[l]x[r]){cnt;break;}else l,r--;}}}coutcnt;return 0;
} 暴力做法没想到在这个平台上直接过了于是换了个平台P2070 - [蓝桥杯2023初赛] 更小的数 - New Online Judge (ecustacm.cn)
果然时间超限。。 DP 上面是三重循环能想到的就是优化最后那一层while循环。 如果左边大了说明这个子串反转后会变小如果右边大了说明这个子串反转后会变大。如果两边相等就lr--这就意味着这种情况下当前这个字串的状态可以由较小的那一层决定。我们就可以想到DP。 稍微画一下就可以理解dp[i][j]由dp[i1][j-1]得到因此最外面一层循环我们要从大到小里面一层顺序无所谓因为先得到dp[i1][j]还是dp[i1][j-1]对dp[i][j]没有任何影响。 #includebits/stdc.h
using namespace std;
const int N5e310;
string x;
int cnt;
int dp[N][N];signed main()
{cinx;for(int ix.length()-1;i0;i--){for(int ji1;jx.length();j){if(ij) continue;if(x[i]x[j]) dp[i][j]1;else if(x[i]x[j]) dp[i][j]dp[i1][j-1];cntdp[i][j];}}coutcnt;return 0;
} 蓝桥杯2023年第十四届省赛真题-颜色平衡树 - C语言网 (dotcpp.com)
暂时能力达不到。。。。