当前位置: 首页 > news >正文

泰州seo公司seo搜索引擎优化是通过优化答案

泰州seo公司,seo搜索引擎优化是通过优化答案,手机膜+东莞网站建设,wordpress 账号图片题目链接如下&#xff1a; Online Judge 这道题我一开始的思路大方向其实是对的&#xff0c;但细节怎么实现set到int的哈希没能想清楚&#xff08;没想到这都能用map&#xff09;。用set<string>的做法来做&#xff0c;测试数据小的话答案是对的&#xff0c;但大数据时…

题目链接如下:

Online Judge

这道题我一开始的思路大方向其实是对的,但细节怎么实现set到int的哈希没能想清楚(没想到这都能用map)。用set<string>的做法来做,测试数据小的话答案是对的,但大数据时间超时。

其实就是把所有set一一映射到int, 所以stack里每个元素就是int. 

按照刘汝佳思路写的代码如下(按理每个case里stack应该先清空,但因为题目保证了没有无效操作+只需要最上面set的元素个数,不清空也没问题):

#include <cstdio>
#include <set>
#include <stack>
#include <map>
#include <vector>
// #define debugint T, N, a, b;
std::map<std::set<int>, int> mp;
char op[10];
std::stack<int> s;
std::set<int> empty;
std::vector<std::set<int>> vec;void _push(std::set<int> st){if(!mp.count(st)){vec.push_back(st);mp[st] = vec.size() - 1;}s.push(mp[st]);
}int main(){#ifdef debugfreopen("0.txt", "r", stdin);freopen("1.txt", "w", stdout);#endifscanf("%d", &T);while(T--){scanf("%d", &N);vec.clear();mp.clear();while(N--){scanf("%s", op);if(op[0] == 'P'){_push(empty);} else{a = s.top();s.pop();if(op[0] == 'D'){s.push(a);s.push(a);} else{b = s.top();s.pop();std::set<int> tmp;if(op[0] == 'A'){tmp = vec[b];tmp.insert(a);} else{if(op[0] == 'U'){tmp = vec[a];for(auto it = vec[b].begin(); it != vec[b].end(); ++it){tmp.insert(*it);}} else if(op[0] == 'I'){for(auto it = vec[a].begin(); it != vec[a].end(); ++it){if(vec[b].find(*it) != vec[b].end()){tmp.insert(*it);}}}}_push(tmp);}}printf("%d\n", vec[s.top()].size());}printf("***\n");}#ifdef debugfclose(stdin);fclose(stdout);#endifreturn 0;
}

原先的代码如下(超时):

#include <cstdio>
#include <set>
#include <stack>
#include <string>
// #define debugint T, N;
char op[10];
std::stack<std::set<std::string>> s, empStack;
std::set<std::string> a, b, empty;std::string toString(std::set<std::string> st){std::string str = "{";for(auto it = st.begin(); it != st.end(); ++it){str += (it == st.begin() ? "" : ",");str += *it;}return str + "}";
}int main(){#ifdef debugfreopen("0.txt", "r", stdin);freopen("1.txt", "w", stdout);#endifscanf("%d", &T);while(T--){scanf("%d", &N);s.swap(empStack);while(N--){scanf("%s", op);if(op[0] == 'P'){s.push(empty);} else{a = s.top();s.pop();if(op[0] == 'D'){s.push(a);s.push(a);} else{b = s.top();s.pop();if(op[0] == 'A'){b.insert(toString(a));s.push(b);} else{if(op[0] == 'U'){for(auto it = a.begin(); it != a.end(); ++it){b.insert(*it);}s.push(b);} else if(op[0] == 'I'){std::set<std::string> intersect;for(auto it = a.begin(); it != a.end(); ++it){if(b.find(*it) != b.end()){intersect.insert(*it);}}s.push(intersect);}}}}printf("%d\n", s.top().size());}printf("***\n");}#ifdef debugfclose(stdin);fclose(stdout);#endifreturn 0;
}

http://www.yayakq.cn/news/954884/

相关文章:

  • 网站开发 瀑布结构手机 网站编辑器
  • 啤酒网站建设免费建站资源
  • 那些网站做网批WordPress建站如何解析
  • 苏州网站建设软件长春企业建站平台
  • 谈谈网站建设创新问题网页设计配色方案
  • 亚购物车功能网站怎么做的个人网页设计与制作学年论文
  • 苏州网站建设如何选择怎样把个人介绍放到百度
  • 怎么开发一个网站项目永康新站优化
  • 张槎九江网站建设查出网站的空间商
  • 淘宝单页面网站wordpress收录难
  • 律师个人网站源码wordpress调取指定分类下的文章
  • 做现货黄金网站wordpress回复邮箱
  • 网站建设多少钱信息品牌展柜设计制作
  • 创意建设机械网站全企网建站怎么样
  • 医疗网站不备案网站备案查询官网
  • 建站方案书室内设计联盟官方网站登录
  • 科技公司网站模板下载淘宝客导购网站 丢单
  • 网站首页专题怎么做汕头市通信建设管理办公室网站
  • 临海城市建设网站优品ppt模板网官网
  • 钻石网站建设搜索引擎优化的英语简称
  • 怎么样做贷款网站大连网站建设功能
  • 做国际黄金的网站网站如何横屏
  • 广州旅游网站建设设计公司网站搜索结果页面怎么做
  • 上海优化排名网站做网站运维的待遇
  • 建设网站用户名是什么意思乐陵森博瑞
  • 网站建设 服务内容佛山响应式网站
  • 东南亚cod建站系统网络营销的特点不包括
  • 深圳百度seo培训网站优化最为重要的内容是
  • 做公众号主页面的有哪些网站江苏省工程建设协会网站
  • 书店手机网站模板asp网站如何虚拟发布