
题目给定一个长度为N的数列A1, A2, ... AN如果其中一段连续的子序列Ai, Ai1, ... Aj(i j)之和是K的倍数我们就称这个区间[i, j]是K倍区间。你能求出数列中总共有多少个K倍区间吗要点总结这里不要使用掩码的方式进行遍历那样得到的是所有非空子集这里要求连续。同时这里数字比较大如果暴力枚举所有开始下标和结束下标会超时。应该用一个unordered_map来存储对于k的余数以及该余数出现的次数初始余数0出现一次。用一个全局变量记录所有前置元素的和遍历所有元素每次前置元素和加上目前元素就对k取余如果之前有相同的元素有几个就加几个区间因为那几个元素到这个元素的和一定为k的倍数然后记录一下这个余数的value1.代码#includebits/stdc.husing namespace std;int main(){int n,k;cinnk;vectorint arr(n);for(int i0;in;i){cinarr[i];}int count0;unordered_mapint,int m;m[0]1;int presum0;for(int a : arr){presum(presuma)%k;countm[presum];m[presum];}coutcount;return 0;}题目密码分析学中常常需要统计字符出现的频度。给定若干行短文要求按字符出现的频度由高到低输出当两个字符出现的频度相同时按字符大小的顺序输出。注意只需要统计英文字母的频度非英文字母一律忽略。要点总结这里要记住遍历vector里面自己定义的结构体的时候记得加否则改不到里面的值。代码#includebits/stdc.husing namespace std;struct fen{char let;int time;};bool compa(fen a,fen b){if(a.time!b.time){return a.timeb.time;}return a.letb.let;};int main(){string s1;bool firsttrue;while(getline(cin,s1)){string s;for(char c : s1){if(!isalpha(c)) continue;char dtoupper(c);ssd;}vectorfen arr;for(char c : s){bool flagfalse;for(fen x : arr){if(x.letc){x.time;flagtrue;}}if(!flag){fen y;y.time1;y.letc;arr.push_back(y);}}sort(arr.begin(),arr.end(),compa);if(first){firstfalse;}else{coutendl;}for(fen x : arr){coutx.let x.timeendl;}}return 0;}题目在商店中每一种商品都有一个价格用整数表示。例如,一朵花的价格是 2 zorkmids z而一个花瓶的价格是 5z 。为了吸引更多的顾客商店举行了促销活动。促销活动把一个或多个商品组合起来降价销售例如 三朵花的价格是 5z 而不是 6z 两个花瓶和一朵花的价格是 10z 而不是 12z。编写一个程序计算顾客购买一定商品的花费尽量利用优惠使花费最少。尽管有时候添加其他商品可以获得更少的花费但是你不能这么做。对于上面的商品信息购买三朵花和两个花瓶的最少花费是以优惠价购买两个花瓶和一朵花10z以原价购买两朵花4z要点总结用多个结构体以及map封装信息采用dfs每次传入剩余要买的东西以及目前的花费计算直接购买的钱加上花费来更新全局变量下面再去递归查看所有可能用到的折扣。代码#includebits/stdc.husing namespace std;struct discount{mapint,int goods;int price;};vectordiscountdis;mapint,int need;mapint,int oriprice;int mincosINT_MAX;int calcostori(mapint,int need){int total0;for(auto p : need){total(p.second*oriprice[p.first]);}return total;}void dfs(mapint,int need,int curcos){int totalcurcoscalcostori(need);if(totalmincos) mincostotal;for(auto d : dis){mapint,int tempneedneed;bool canusetrue;for(auto g : d.goods){int kindg.first;int numg.second;if(tempneed.find(kind)tempneed.end()||tempneed[kind]num){canusefalse;break;}}if(canuse){for(auto g : d.goods){int kindg.first;int numg.second;tempneed[kind]-num;if(tempneed[kind]0){tempneed.erase(kind);}}dfs(tempneed,curcosd.price);}}}int main(){int s;cins;for(int i0;is;i){discount m;int n,c,k;cinn;for(int j0;jn;j){cinck;m.goods[c]k;}cinm.price;dis.push_back(m);}int b;cinb;for(int i0;ib;i){int c,k,p;cinckp;need[c]k;oriprice[c]p;}dfs(need,0);coutmincos;return 0;}英语翻译人工智能驱动的机器人通过执行重复精准的任务对制造业起到了很大帮助。这些机器人和人类工人协同作业提升了生产效率也减少了工伤事故。先进的模型使用计算机视觉技术来灵活适配不同产量规格。大型基础模型会在大规模数据集上进行预训练使其能胜任多种应用场景。为特定任务微调这些模型可以缩短开发时间。然而这些模型极高的计算要求对于小型研究团队以及初创公司都是一种限制。心理健康领域的人工智能技术使用聊天机器人来提供情绪支持并且检查心理健康问题。自然语言处理技术通过分析用户的文本来检测其情绪上的痛苦。这些技术补充了专业服务的不足尤其在缺乏心理健康资源的地区。