网站建设08哪里有软件培训班
2026/4/18 14:31:08 网站建设 项目流程
网站建设08,哪里有软件培训班,网站引流推广怎么做,东莞桂城网站建设字符拼接 题目描述 给定两个由可见字符和空格组成的字符串s和t#xff0c;其中字符串t的长度为偶数. 请将t的后半部分嫁按到s的未尾#xff0c;并输出嫁接后的s以及t 的前半部分。 本题字符串的字符集为 ASCIl 码在 32 到 126 之间的字符#xff0c;即大小写字母、数字、标点…字符拼接题目描述给定两个由可见字符和空格组成的字符串s和t其中字符串t的长度为偶数.请将t的后半部分嫁按到s的未尾并输出嫁接后的s以及t 的前半部分。本题字符串的字符集为 ASCIl 码在 32 到 126 之间的字符即大小写字母、数字、标点符号和空格。输入第一行输入一个长度为n (1 ≤n≤ 100)的字符串s1s2…sn。第二行输入一个长度为 m (2 m 100)的字符串t1,t2…tm。保证 m为偶数。除此之外保证8和t中只包含可见字符和空格。输出第一行输出嫁接后的字符串s。第二行输出t的前半部分。示例1输入kou yukari输出kouari yuk示例2输入?? (ak90 r)输出??0 r) (ak9思路和代码签到题没有任何难度。#includeiostream#includevector#includequeue#includetuple#includelimitsusingnamespacestd;usinglllonglong;constll INF1e18;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);string s;string t;getline(cin,s);getline(cin,t);intnt.size();// 分割得到t的前半部分string frontPartt.substr(0,n/2);// 分割得到t的后半部分string backPartt.substr(n/2);coutsbackPartendl;coutfrontPart;return0;}字典序最小的字符串拼接题目描述对于给定的长度为n仅由字符串构成的数组{a1,a2…,an}每一个字符串都仅由小写字母构成。你需要将全部字符串按照任意顺字拼接成一整个字符串(但是不改变每个字符串内部的顺序)随后恰好删除其中的一个字符,请你输出所有可能的拼接结果中字典序最小的结果。【名词解释】字符串的第一个字符开始逐个比较直至发现第一个不同的位置比较这个位置字符的字母表顺序字母序较小的字符串字典序也较小;如果比较到其中一个字符串的结尾时依旧全部相同则较短的字符串字典序更小。输入第一行输入一个整数n(1 n 8)表示数组的长度。第二行输入n个字符串a1,a2,……,an (1 len(ai) 10)每个字符串仅由小写字母构成。输出输出一个字符串表示所有可能的拼接结果中字典序最小的结果。示例1输入3 za ba bb输出ababb思路和代码思路:枚举 栈 自定义排序n 10数据范围较小直接枚举要删除字符位于第i个字符中具体逻辑为例如当前要删除字符位于第i个字符串中使用单调栈移除指定字符串中首个当前字符ASCII大于下一个字符的位置的字符形成新的字符串。将第i个字符串替换删除单个字符之后的字符串进行自定义排序,排序规则为a b b a,拼接当前情况所能组成的最小字典序字符串。记录所有枚举情况下所能组成最小字典序的字符串就是结果。#include iostream #include vector #include queue #include tuple #include limits #includealgorithm using namespace std; using ll long long; const ll INF 1e18; bool cmp(string a, string b) { return a b b a; } // n的数据小直接枚举要删除字符属于哪个字符串 string solve(vectorstring words) { string res; int n words.size(); // 枚举要移除字符所在字符串 for (int i 0; i n; i) { vectorstring wordsCopy(words.begin(), words.end()); string tmp words[i]; int m tmp.size(); if (m 1) { wordsCopy[i] ; } else { // 类似于单调栈的思路决定删除字符位置 int j 1; for (; j m; j) { if (tmp[j] tmp[j-1]) { break; } } wordsCopy[i] tmp.erase(j-1, 1); } // 自定义排序 sort(wordsCopy.begin(), wordsCopy.end(), [](string a, string b) { return a b b a; }); string currentRes; for (auto tmp : wordsCopy) { currentRes tmp; } if (res.empty() || res currentRes) { res currentRes; } } return res; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin n; vectorstring words(n); for (int i 0; i n; i) { cin words[i]; } string res solve(words); cout res; return 0; }圆心覆盖题目描述现在需要在坐标平面上以某一点 C 为圆心画一个圆且该圆心必须位于坐标轴上。请你找到一个最小的半径r使得这圆能够覆盖不少于[n/2]个给定点并输出这个最小半径。【名词解释】坐标轴:包含x轴和y轴。x 轴表示形如(x,0)的所有点y轴表示形如(0,y)的所有点。覆盖若点 P 到圆心 c 的欧氏距离不超过圆的半径则称该圆覆盖点 P。输入第一行输入一个整数n (2 ≦n ≦ 10^5)表示点的数量。接下来n行每行输入两个整数xiyi-10^5 xiyi10^5表示第i个点的坐标。输出输出一个实数表示能够覆盖至少[n/2]个给定点的、以坐标轴上某点为圆心的最小圆的半径。误差需要小于10^-6要求保留6位小数输出。示例1输入4 -1 0 1 0 0 1 100 100输出1.000000示例2输入3 1 0 2 0 50 50输出0.500000思路和代码思路二分 差分使用二分枚举半径检验当前半径是否可以圆心位于坐标轴上并且满足[n/2]点包括内。判断逻辑:假设当前圆心位于x轴计算每个点能被包含在内的圆心的x轴的范围使用差分 扫描线计算重叠区间个数如果个数大于 [n/2]说明满足。假设圆心位于y轴判断方式类似。#includebits/stdc.husingnamespacestd;structEvent{doublepos;inttype;// 1 表示区间开始-1 表示区间结束booloperator(constEventother)const{if(posother.pos)returntypeother.type;returnposother.pos;}};intn;vectorpairint,intpts;boolcheck(doubler){intneed(n1)/2;vectorEventevents;doubler2r*r;// 圆心在 x 轴for(autop:pts){doublexp.first,yp.second;if(r21.0*y*y)continue;// 没法覆盖doubledxsqrt(r2-1.0*y*y);events.push_back({x-dx,1});events.push_back({xdx,-1});}// 扫描线sort(events.begin(),events.end());intcur0;for(autoe:events){cure.type;if(curneed)returntrue;}events.clear();// 圆心在 y 轴for(autop:pts){doublexp.first,yp.second;if(r21.0*x*x)continue;doubledysqrt(r2-1.0*x*x);events.push_back({y-dy,1});events.push_back({ydy,-1});}sort(events.begin(),events.end());cur0;for(autoe:events){cure.type;if(curneed)returntrue;}returnfalse;}intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);cinn;pts.resize(n);for(inti0;in;i){cinpts[i].firstpts[i].second;}// 二分答案doubleL0,R0;for(autop:pts){doubledsqrt(1.0*p.first*p.first1.0*p.second*p.second);Rmax(R,d);}for(intiter0;iter50;iter){// 精度二分doublemid(LR)/2;if(check(mid))Rmid;elseLmid;}coutfixedsetprecision(6)R\n;return0;}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询