![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
奇思妙想系列
文章平均质量分 74
Stayaccept
这个作者很懒,什么都没留下…
展开
-
hdu6485(尺取)
链接:点击打开链接题意:给出两个字符串,两个字符串中长度都为s的子串最多可以有k个位置不同,求最大的s代码:#include <map>#include <set>#include <queue>#include <string>#include <math.h>#include <vector>#i...原创 2019-05-12 20:45:52 · 341 阅读 · 0 评论 -
zoj2531(格雷码)
链接:点击打开链接题意:给出编号为0~n-1的城市,现在要求输出一条路径满足起点是m,并且每个城市只能通过一次,并且相邻两个城市的编号异或为2的k次幂,k为任意整数代码:#include #include #include #include #include #include using namespace std;int toGary(int x){原创 2017-04-25 16:19:28 · 241 阅读 · 0 评论 -
Codeforce 798D(贪心)
链接:点击打开链接题意:给出两个长度为n的数组A,B,要求从A,B中取出至多n/2+1个下标相同的元素,使得取出的A的和大于二倍A数组的总和,取出的B大于二倍B数组的总和代码:#include #include #include #include #include #include #include using namespace std;struct node{原创 2017-04-23 19:42:38 · 423 阅读 · 0 评论 -
poj3318(随机化算法)
链接:点击打开链接题意:给出三个n*n的矩阵A,B,C,问是否存在A*B=C(n代码:#include #include #include #include #include #include #include using namespace std;int r[505],rA[505],rAB[505],rC[505];int A[505][505],B[505][50原创 2017-04-09 14:17:18 · 1564 阅读 · 0 评论 -
Codeforce 785E(分块)
链接:点击打开链接题意:给出一个1~n的序列,有m次变换,每次交换两个元素的位置,求每次交换后的逆序数代码:#include #include #include #include #include #include using namespace std;vector G[10005];int n,m,siz,a[200005];int le[200005],re[200原创 2017-04-07 13:31:38 · 299 阅读 · 0 评论 -
hdu5360(优先队列)
链接:点击打开链接题意:n个人去旅游,给出每个人可以参加旅游的最小人数和最大人数,只有在这个区间内这个人才可以参加,问最多参加的人数,并输出任意一种方案代码:#include #include #include #include #include #include using namespace std;struct node{ int r,id; frien原创 2016-07-07 19:07:56 · 344 阅读 · 0 评论 -
hdu5328(尺取)
链接:点击打开链接题意:给出n个数,找出一串最长的连续等差数列或者等比数列代码:#include #include #include #include #include using namespace std;int a[1000005];int main(){ int t,i,j,n,d1,ans,len1,len2; double d2; scan原创 2016-07-05 19:08:34 · 642 阅读 · 0 评论 -
hdu4302(模拟+STL)
链接:点击打开链接题意:在一个长L的数轴上,起点在0点,有可能有两种事件,第一种是数轴上某一点会出现一份食物,另一种是找食物,这种情况会前往一个最近的食物,如果两边的食物距离相同,那么就按最后一次移动的方向进行移动,如果两边都没有食物,就呆在原地,问最后走的路程是多少代码:#include #include #include #include #include #include原创 2016-07-15 11:41:52 · 533 阅读 · 0 评论 -
hdu5319(模拟)
链接:点击打开链接题意:有两把刷子,红色刷子沿‘\’方向,蓝色刷子沿‘\’方向,先用红色刷子再用蓝色刷子,都刷到的格子为绿色。给出一个矩阵表示最后的状态,求最少需要刷多少次可以达到最后的状态代码:#include #include #include #include #include #include using namespace std;char s[105][105];原创 2016-07-04 16:10:18 · 340 阅读 · 0 评论 -
hdu5288(思维+分解因子)
链接:点击打开链接题意:给出含n个元素的数组a,问所有区间中满足对该区间所有aj(j!=i),都使ai%aj!=0的i的个数代码:#include #include #include #include #include #include #include using namespace std;const long long MOD=1000000007;int a[10原创 2016-07-01 21:33:19 · 482 阅读 · 0 评论 -
hihocoder1273(dfs)
链接:点击打开链接题意:小Hi实验室所在的建筑一楼有一个用于贴海报的黑板,不停的有新的海报往上贴,也会安排人员不断的对海报进行清理,而最近,轮到了小Hi去对海报进行清理。黑板是一块W*H大小的区域,如果以左下角为直角坐标系的话,在上次清理后第i张贴上去的海报可以视作左下角为(X1i, Y1i),右上角为(X2i, Y2i)的一个矩形。撕去一张海报会导致所有覆盖在其上的海报都被同时撕掉(原创 2017-05-17 17:48:57 · 270 阅读 · 0 评论 -
hihocoder1305(打标记)
链接:点击打开链接题意:给定两个区间集合 A 和 B,其中集合 A 包含 N 个区间[ A1, A2 ], [ A3, A4 ], ..., [ A2N-1, A2N ],集合 B 包含 M 个区间[ B1, B2 ], [ B3, B4 ], ..., [ B2M-1, B2M ]。求 A - B 的长度。例如对于 A = {[2, 5], [4, 10], [14, 18]}, B =原创 2017-05-29 17:50:01 · 385 阅读 · 0 评论 -
hihocoder1238(dfs)
链接:点击打开链接题意:给定一颗有N个节点的带权树,之后进行M次操作:Q操作:询问树上所有点对之间的距离之和,E操作:修改树上某一条边的权值代码:#include #include #include #include #include #include #include using namespace std;const int siz=100005;struct nod原创 2017-06-07 09:40:48 · 241 阅读 · 0 评论 -
poj2278(钩子公式)
链接:点击打开链接题意:求给定形状的杨氏矩阵的种数代码:#include <map>#include <set>#include <queue>#include <string>#include <math.h>#include <vector>#include <stdio.h>#inc原创 2018-12-06 22:25:38 · 270 阅读 · 0 评论 -
hdu1988(模拟)
题意:给出一个序列,每次可将一个前缀翻转并且改变所有元素符号,输出翻转的序列使得每个数都为正且从小到大排序链接:点击打开链接代码:#include <map>#include <queue>#include <string>#include <math.h>#include <vector>#include <...原创 2018-07-25 17:30:28 · 296 阅读 · 0 评论 -
Codeforce 912E(折半+二分)
链接:点击打开链接题意:给出含n个数的集合,求第k大的所有 质因子都在这个集合中的数代码:#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef lo原创 2018-01-15 12:58:16 · 289 阅读 · 0 评论 -
hdu6215(双向链表)
链接:点击打开链接题意:给出n个数,每次删除所有递减的子串,然后按照原先的顺序合并剩下的元素,直到不存在递减的子串为止,输出所有元素代码:#include #include #include #include #include #include #include #include #include using namespace std;const int siz=10原创 2017-09-30 23:15:35 · 680 阅读 · 0 评论 -
poj3111(01分数规划)
链接:题意:有n个物品的价值和重量,从中选择k个使原创 2015-12-12 18:12:05 · 888 阅读 · 0 评论 -
poj2976(01分数规划)
链接:点击打开链接题意;有n场考试,给出每场答对的题数a和这场一共有几道题b,求去掉k场考试后,公式.的最大值代码:#include #include #include using namespace std;const int INF=0x3f3f3f3f;double a[1005],b[1005],v[1005];int n,k;bool judge(原创 2015-12-12 17:58:50 · 2559 阅读 · 0 评论 -
hdu1237(表达式求值)
链接:点击打开链接题意:读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。代码:#include #include #include #include #include #include #include #include #include using namespace std;int change(char c){ if(c=原创 2017-07-15 18:17:31 · 345 阅读 · 0 评论 -
hihocoder1133(二分求第k小)
链接:点击打开链接题意:求无序数组的第k小代码:#include #include #include #include #include #include #include using namespace std;int n,k,ans,a[1000005];int change(int ll,int rr){ int tt=a[ll]; while(ll原创 2017-07-10 19:01:34 · 326 阅读 · 1 评论 -
hihocoder1114(模拟)
链接:点击打开链接题意:在一个大小为2*N的广场,其中第一行里的某一些格子里可能会有至多一个地雷,而第二行的格子里全都为数字,表示第一行中距离与这个格子不超过2的格子里总共有多少个地雷,即第二行的第i个格子里的数字表示第一行的第i-1个, 第i个, 第i+1个,三个格子(如果i=1或者N则不一定有三个)里的地雷的总数。代码:#include #include #include #in原创 2017-06-30 13:52:27 · 216 阅读 · 0 评论 -
Codeforce 424C(规律)
链接:点击打开链接题意;求Q代码:#include #include #include #include #include using namespace std;long long sum[1000005];int main(){ long long n,i,j,t,ans,num,tmp; sum[0]=0; for(i=1;i<=1000000;原创 2016-07-12 19:49:07 · 889 阅读 · 0 评论 -
hdu5400(模拟)
链接:点击打开链接题意:问有几个子区间,满足可以分成两段,前一段为差为d1的等差数列,后一段为差为d2的等差数列代码:#include #include #include #include #include using namespace std;long long a[100005],l[100005],r[100005];int main(){ long long原创 2016-07-11 19:26:18 · 377 阅读 · 2 评论 -
hdu5386(模拟)
链接:点击打开链接题意:有两种操作:操作L x y,把x这一列全部置为y,操作H x y,把当x这一行全部置为y,现在给你n∗n的初始矩阵,以及n∗n的目标矩阵,现在给你m种操作,问怎么排序这m种操作,才能使得初始矩阵变成目标矩阵,输出排序方案代码:#include #include #include #include #include using namespace std;原创 2016-07-11 15:20:06 · 358 阅读 · 0 评论 -
hdu1716
链接:点击打开链接题意:给出四个数字,全排列输出所有组成后的数字,重复的不输出,千位相同的输出在同一行代码:#include #include #include #include #include using namespace std;int a[5],b[50];int main(){ int i,k,sign,temp; temp=0; whil原创 2015-09-03 02:47:14 · 726 阅读 · 0 评论 -
hdu1015
链接:点击打开链接题意:给target赋一个值,然后给出一个字符串,从中选出5个字母最为v,w,x,y,z(A=1, B=2, ..., Z=26)使之满足等式v - w^2 + x^3 - y^4 + z^5 = target ,并输出由这5个字母组成字典序最大的字符串代码:#include #include #include #include using namespace s原创 2015-09-03 02:42:58 · 1467 阅读 · 0 评论 -
CodeForces 7A
链接:点击打开链接题意:一次能将一行'W'变成'B'问需要几次操作能变为样例的情况代码:#include #include#include#include#includeusing namespace std;char s[100][100];int main(){ int i,j,sum,sign,sign1; while(cin>>s[0]){原创 2015-07-11 10:22:06 · 628 阅读 · 0 评论 -
hdu5422
链接:点击打开链接题意:给出一个图,每条边都为1,使1到n走的路径为最短的同时再添加一条边,问有多少种添加的情况代码:#include using namespace std;int main(){ //因为再添加一条边所以最短路一定为1 int n,m,a,b,sign; //因此问题变为求出添加的种数,因为最 while(cin>>n原创 2015-08-31 02:52:32 · 868 阅读 · 0 评论 -
CodeForces 3C
链接:点击打开链接题意:根据所给情况判断是否合法,或哪一个应该下下一步,或哪一个赢代码;#include using namespace std;char a[5][5];int main(){ int i,j,sum,sum1; while(cin>>a[0]){ cin>>a[1]>>a[2]; sum=sum1=0;原创 2015-07-11 10:38:48 · 573 阅读 · 0 评论 -
hdu4006
链接:点击打开链接题意:给出一个n和一个k,n为有多少条命令,命令分为两种,输入‘I’时代表增加一个数,输入‘Q’代表询问并输出第k大的数代码:#include #include #include using namespace std;int main(){ int i,n,k,num; char c; priority_queue,greater原创 2015-08-07 18:48:42 · 1282 阅读 · 0 评论 -
hdu1394
链接:点击打开链接题意:给出n个数,范围为0代码:#include #include #include #include using namespace std;int a[5005];int main(){ int n,i,j,sum,temp; while(scanf("%d",&n)!=EOF){ sum=0; fo原创 2015-08-07 18:38:00 · 620 阅读 · 0 评论 -
hdu5311
链接:点击打开链接题意:输入一个字符串,看是否能找到三个没有重叠部分的连续子串组成“anniversary”这个字符串,并满足1≤l1≤rl<l2≤r2<l3≤r3≤n1≤l1≤r1l2≤r2l3≤r3≤n1≤l1≤r1l2≤r2l3≤r3≤n代码:#include #include #include #include using namespace std;char s原创 2015-07-27 13:59:34 · 493 阅读 · 0 评论 -
CodeForces 225A
链接:点击打开链接题意:几个骰子,给出顶面的数,和正面能看到的两个面的数子(如图),要求上下两个骰子相接的面不能相同,求所给数据是否符合条件 代码:#include #include#include#include#includeusing namespace std;struct node{ int x,y; int t[5]; int原创 2015-07-02 11:47:43 · 720 阅读 · 0 评论 -
CodeForces 405C
链接:点击打开链接题意:给n张带数字0的牌和m张带数字1的牌,输出组成后的序列(不能含有连续的三个1并且不能含有连续的两个0)代码:#include #include #include using namespace std;int main(){ int m,n,i; while(scanf("%d%d",&n,&m)!=EOF){ if(m2*n原创 2015-11-05 21:24:12 · 425 阅读 · 0 评论 -
CodeForces 405B
链接:点击打开链接题意: 一共有x-1轮CF(DIV1和DIV2同时进行时,DIV1的编号比DIV2的编号大1,DIV2可以单独举行,DIV1必须和DIV2同时举行),但是Sereja(他只能参加DIV2)只记得他参加了k轮,有k行数据,每行数据有两种形式分别为: 1 num2 num1代表DIV1和DIV2同时在num2和num1轮举行,2 num2代表DIV2在num2轮举行,问他最少和最原创 2015-11-05 21:20:50 · 489 阅读 · 0 评论 -
hdu4722
链接:点击打开链接题意:给出两个N*N的矩阵,将其中一个矩阵分别旋转0°,90°,180°,270°,与另一个矩阵进行比较,判断旋转为多少度时,两个矩阵中相等元素的个数最多,输出最多相等元素的个数代码:#include #include #include #include using namespace std;int main(){ int a[50][50],b[5原创 2015-09-18 21:05:53 · 411 阅读 · 0 评论 -
hdu3527(STL)
链接:点击打开链接题意:给出三行字符串,输出第二行中在第一行出现并且不在第三行出现的字符串代码:#include #include #include #include #include #include using namespace std;int a,b,c;vector x,y,z,ans;int main(){ int i,j,k; string原创 2016-06-24 20:37:34 · 1362 阅读 · 0 评论 -
Codeforce 621(A,B,C,D,E)
A.链接:点击打开链接题意:在n个数中取一些数加和,使之为偶数的最大值是多少代码:#include #include #include #include #include #include using namespace std;long long a[100005],b[100005];int main() { long long n,i,j原创 2016-02-01 22:45:07 · 619 阅读 · 0 评论 -
Codeforce 53B
链接:点击打开链接题意:给出一个h和w的上限,找出一个h和w使得0.8=代码:#include #include #include #include #includeusing namespace std;int main(){ long long i,j,h,w,tmp_h,tmp_w; cin>>h>>w; for(i=0;;i原创 2015-12-21 16:15:20 · 554 阅读 · 0 评论