编码到现在,我明白了一点。我之所以如此安排自己coding, 说实话就是为了尝试恢复到自己去年上半年时的状态。

但是我发现了,越是想恢复原来那个所谓的巅峰状态,就越发现还差了点东西没有,要么是思想,要么是处理问题的思路,或者平时的行为习惯。

于是我就越想弥补,越发现自己不如以前。

其实不然,我现在与以前的状态已经完全不同,我周围的环境,身边的人也已经完全不同,不能再完全按照原来的路子来。

总之,就是得更新策略。得向前看,纵向比较,我是进步了的。整体都在进步,综合都在进步。

某一方面特别强势,而其他方面的缺失,是不能说明强大的。正如木桶理论的最短板理论。

因此,我只需向前奔跑,不管我以前什么状态,什么思想,什么行为习惯。just do it!

我只管提升现在的知识基础、感情基础、环境基础的我的能力就好,并通过熟练,加以融合。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面是我的另外一道题,只完成到一半。目前觉得没有很大必要写下去,留待以后吧。

学会的新的思路:

1、将双平方数,另外coding打表出来;

2、放到测试的程序中作为初始的data使用;

3、接下来就是逻辑安排与分析了。

下面的是auxiliary.c  文件

#include <stdio.h>
#include <stdlib.h>
#define INFINITE 1000void gene(int *in)
{int p,q;
//  FILE *out;
//  out = fopen("square.txt","w");int i=0;for(p=0 ; p <= 250 ;p++){for(q=0 ; q <= 250 ; q++){//printf("%d,",p*p+q*q);in[i++] = p*p+q*q;}}printf("%d",i);
}void quick(int *in,int l ,int r)
{if( l < r ){int i= l ,j =r, x= in[l];while(i < j)//内部判断的都是i和j {while( i < j && in[j] >= x )j--;if(i < j )in[i++] = in[j];while(i < j && in[i] < x)//注意这个等号可以不要 i++;if(i < j)in[j--] = in[i];}in[i] = x;quick(in,l ,i-1);//注意这里的分界点是i,不是r,下面也是 quick(in, i+1 ,r);}
}/*
void quick(int *node,int l,int r)
{  if (l < r)      {      //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1      int i = l, j = r,x = node[l];while (i < j)      {      while(i < j && node[j] >= x) // 从右向左找第一个小于x的数      j--;        if(i < j)       node[i++] = node[j];      while(i < j && node[i] < x) // 从左向右找第一个大于等于x的数      i++;        if(i < j)       node[j--] = node[i];      }      node[i] = x;      quick(node, l, i - 1); // 递归调用       quick(node, i + 1, r);      }
} */void merge(int *a,int start,int mid,int end)
{  int i,j,k;  //申请辅助数组  int *array1=(int *)malloc(sizeof(int)*(mid-start+2));  int *array2=(int *)malloc(sizeof(int)*(end-mid+1));  //把a从mid分开分别赋值给数组  for(i=0;i<mid-start+1;i++)  *(array1+i)=a[start+i];  *(array1+i)=INFINITE;//作为哨兵  for(i=0;i<end-mid;i++)  *(array2+i)=a[i+mid+1];  *(array2+i)=INFINITE;  //有序的归并到数组a中  i=j=0;  for(k=start;k<=end;k++){  if(*(array1+i) > *(array2+j)){  a[k]=*(array2+j);  j++;  }  else{  a[k]=*(array1+i);  i++;  }  }  free(array1);  free(array2);
}  //归并排序
void mergeSort(int *a,int start,int end)
{  int mid=(start+end)/2;  if(start<end){  //分解  mergeSort(a,start,mid);  mergeSort(a,mid+1,end);  //合并  merge(a,start,mid,end);  }
}  int clear(int *in,int *out)
{int i,j=0;for(i=0 ; i < 251*251-1; i++){if(in[i+1] !=in[i]){out[j++] = in[i];}}out[j++] = in[i];return j;
}
void print(int *out,int len)
{FILE *fout;fout = fopen("squ.txt","w");int i;for(i=0 ; i< len ; i++){fprintf(fout,"%d,",out[i]);}fclose(fout);
}int main()
{int square[251*251];int out[251*251];int len;gene(square);printf("gene is all done!");//mergeSort(square,0,251*251-1);  quick(square,0,251*251-1);printf("quick is all done!");len = clear(square,out);printf("clear is all done!");print(out,len);printf("this is all done!\n--%d",251*251-1);return 0;
}

下面是部分测试coding。arc.c

/*
1 5 9 13 17
【我的思路】
1、预先用程序打出一张双平方数表, 最大250平方 +  250平方
2、利用折半查找搜索题目要求的数据范围。 (或者就一直取数判断,当取到的数大于限制的时候就停止)
3、从数组的步长开始逐个尝试,是否符合方差长度的组合。
1 2 4 5 8
4、排序结果,输出。
*/
#include <stdio.h>
int squ[21047]={0,1,2,……};//太多了。省略。网页已经无法保存
int mark(int max)
{int i;for(i=0 ; i< 21047 ; i++){if( squ[i]==max*max*2)return i;}/*int max2 = max*max*2;int beg=0,end = 21046;int mid = (beg+end)/2;while( squ[mid]!= max2 ){if( max2 < squ[mid]){end = mid;}else{beg = mid;}}return mid;*/
}int main()
{int len,max;scanf("%d",&len);scanf("%d",&max);//获取最大值的数组下标 int poi = mark(max);int i,step=1;int count,dis,beg;//方差从1开始, 一个一个实验,寻找 大于等于该方差的 下标//1、如果找到了本串, (待优化,继续判断的增加),则从本串开始的下一个下标开始;//2、没找全,也继续 同上//方差直到 小于 max*max//下标直到 小于poifor( dis=1 ; dis < max*max ; dis++){beg=0;count=1;for( i=1; beg+i < poi ; i++){for( ; squ[beg+i]-squ[beg+i-1]<dis && beg+i < poi; i++);if( squ[beg+i]-squ[beg+i-1]==dis){count++;}else{     count=1;beg++;i=0;}if( count==len){printf("%d %d\n",squ[beg],dis);count=1;beg++;i=0;}}} return 0;
}

【备战蓝桥杯】USACo-- airpro【改变策略】相关推荐

  1. 备战蓝桥杯—枚举——[USACO Nov08]成交

    农夫 John 余下了 m 批干草无法处理,他准备要开一个拍卖会去出售他的干草.现在有 n 个顾客,每个顾客的报价是 ai​.现在 John 要确定一个单价,所有报价大于等于单价的顾客将会买到 1批干 ...

  2. 【STM32G431RBTx】备战蓝桥杯嵌入式→扩展模块→DHT11

    文章目录 前言 一.软件准备 二.DHT11 1.扩展板上模块的原理图以及我们需要配置的元素 2.CubeMx的配置步骤 3.代码修改以及应用 方法1.以移植F103驱动包为方法 ①.在工程中添加大赛 ...

  3. 7天备战蓝桥杯之第一天

    7天备战蓝桥杯之第一天 0x1 前言 ​ 无尔,只为打脸某人.(ps.本来不想玩,谁叫某人喜欢嘲笑我是个垃圾呢,mmp,没错我就是个垃圾,我最tm讨厌说实话的人了) 0x2 备战思路 ​ 以我多年的考 ...

  4. 备战蓝桥杯—有边数限制的最短路 (bellman_ford+)——[AcWing]有边数限制的最短路

    因为近期在学图,所以顺带的写一篇最短路的备战蓝桥杯文章. 最短路(单源) 所有边权都为正数有两种算法: 1.朴素Dijkstra    O(n^2) 2.堆优化的Dijkstra    O(mlogn ...

  5. 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→I2C→M24C02

    文章目录 前言 I2C 1.原理图以及配置元素 2.CubeMx的配置步骤 3.生成工程 4.测试代码 5.演示效果 总结 前言 G4板载了一块M24C02(eeprom)和一块MCP4017(可编程 ...

  6. 备战蓝桥杯-双指针、BFS

    备战蓝桥杯所有笔记 双指针

  7. 备战蓝桥杯 这样准没错!

    大家好,我是大赛(不是塞),好久不见,甚是想念. 这段时间断断续续有些学弟问我参加蓝桥杯有木有一些建议,我也给了我的想法和看法.当然,网上对蓝桥杯的看法不一,我就针对大学生参与竞赛的目的和备战蓝桥杯两 ...

  8. 【备战蓝桥杯】 算法·每日一题(详解+多解)-- day11

    [备战蓝桥杯] 算法·每日一题(详解+多解)-- day11 ✨博主介绍 前言 Dijkstra 算法 流程 网络延迟时间 解题思路 Bellman-Ford 算法 流程 K 站内最便宜的航班 解题思 ...

  9. 【STM32G431RBTx】备战蓝桥杯嵌入式→扩展模块→SEG

    文章目录 前言 一.软件准备 二.SEG 1.扩展板上模块的原理图以及我们需要配置的元素 2.CubeMx的配置步骤 三.测试代码 四.演示效果 五.工程链接 六.总结 前言 初赛结束之后就应该火速准 ...

  10. 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→LED

    文章目录 前言 一.软件准备 二.LED 1.G431RETx的原理图以及我们需要配置的元素 2.CubeMx的配置步骤 3.别忘了设置调试接口为SW 4.生成工程 5.测试代码 三.效果展示 总结 ...

最新文章

  1. [problem]快速排序和归并排序
  2. Java学习_day013(OOP):内部类
  3. 台阶问题---动态规划算法
  4. 史上最接近上帝的方程!神秘的数字4.669,目前没有人能解开这个谜语......
  5. 大龄程序员怎样渡过中年危机?(转)
  6. 【Python】TensorBoard已发送内容的清除
  7. 统计两个IP地址之间的IP个数
  8. Linux/deppin 中安装、卸载软件的几种命令
  9. 编程语言-jul2014
  10. js获取页面宽度给JS div设宽度
  11. react学习系列3 使用koa-router模拟后台接口
  12. 专升本计算机专业是理工类吗,理工类专接本有些专业
  13. windows库的创建和使用:静态库+动态库
  14. 为什么我电脑的所有浏览器都开不了网页
  15. still a week before on board
  16. python数据存储到access_Python操作Access数据库基本步骤分析
  17. 第一次滑雪小记——杭州临安大明山滑雪场
  18. 「津津乐道播客」#301 这是一期价值3000元的当代社畜科学点餐指南
  19. loop variable ‘numerator‘ creates a copy from type ‘const std::string‘ [-Wrange-loop-construct]
  20. Spring 之 @Cacheable 源码解析(下)

热门文章

  1. VMware收购Wavefront增强云管理产品组合
  2. QoS(Quality of Service)服务质量【转自微信公众号开源Linux】
  3. win10 安装 SqlServer2008 亲测可行
  4. html改游戏聊天字体颜色,html点击按钮改变字体颜色怎么实现
  5. 那周余嘉熊掌将得队对男上加男,强人所男、修!咻咻! 团队的Beta产品测试报告...
  6. Argument(s) are different! Wanted:
  7. 安装perf后,执行perf命令报错。
  8. mysql expires_离expires区别
  9. 删除 Win10 资源管理器中的6个文件夹
  10. C4D导入外面下载的模型,渲染颜色有问题。渲染颜色断边