09 2016 档案
摘要:/* TASK: hamming LANG: C++ URL:http://train.usaco.org/usacoprob2?a=5FomsUyB0cP&S=hamming SOLVE: 找粗一个值最小的n个元素的集合,每个元素都是不超过m位二进制的数,且两两之间二进制位不同的位不小于d。 dfs,枚举每一个数,枚举范围:(前一个数,1 int n,m,d; int a[1024]; int...
阅读全文
摘要:/* TASK: holstein LANG: C++ URL: http://train.usaco.org/usacoprob2?a=SgkbOSkonr2&S=holstein SOLVE: con[i][j]为食物i含有维生素j的量,ned[i]为需要的维生素i的量 bfs,用二进制保存状态 */ #include #define N 30 int v,g,ned[N],con[N][...
阅读全文
摘要:/* TASK: sort3 LANG: C++ URL: http://train.usaco.org/usacoprob2?a=RkPIMxsFWzm&S=sort3 SOLVE: n个数的序列,值只有1、2、3,通过几次互换可以变成升序。 num[i][j]为排完序后为数字i,原来是数字j的位置的个数, 所有i!=j的min(num[i][j],num[j][i])就是互换就能到正确位置的...
阅读全文
摘要:/* TASK: frac1 LANG: C++ URL: http://train.usaco.org/usacoprob2?S=frac1&a=dbgwn5v2WLr SOLVE: 直接枚举,约分,排序,去重 */ #include #include using namespace std; struct node{ int nu,deno; double v; }a[40...
阅读全文
摘要:/* TASK: castle LANG: C++ SOLVE: 深搜,注意每个方向对应值。枚举去掉的墙,然后再dfs,注意墙要复原,并且dfs里要判断是否超出边界。 */ #include #include #include #define N 55 using namespace std; int n,m; int a[N][N]; int ans,num,cnt; int rans,rm...
阅读全文
摘要:/* TASK: sprime LANG: C++ SOLVE: dfs,后面每增加一位,判断当前是否为素数。 第一位不能为0 */ #include int n; void dfs(int x,int d){ for(int i=2;i<=x/i;i++) if(x%i==0)return; if(x==1)return; if(d==n){ ...
阅读全文
摘要:1 /* 2 TASK: pprime 3 LANG: C++ 4 SOLVE: 枚举数的长度,dfs出对称的数,判断是否在范围内,是否是素数 5 原来想着枚举每个范围里的数,但是显然超时,范围最大是10^9。 6 对称的数只有9*2+9*9*2+9*9*9*2+9*9*9*9*2个,再加上几个九位数的。 7 共一万多个。 8 n=10000 9 复杂度就是O(根号n)。 10...
阅读全文
摘要:/* TASK: milk3 LANG: C++ SOLVE: 倒水,dfs,枚举每一种倒法,ca[i][j]记录a和c桶的状态,因为总体积不变,故b的状态不需要记录。 */ #include #include #include #include using namespace std; int a,b,c; bool ca[30][30]; void dfs(int na,int nb,in...
阅读全文
摘要:/* TASK: ariprog LANG:C++ URL:http://train.usaco.org/usacoprob2?a=PA9lOcZrdWq&S=ariprog SOLVE:平方和最大为m*m*2,因此bq数组标记数i是否为平方和数,num数组存第i个平方和数 枚举公差q,从1到num[tol]/(n-1),枚举起点p,从num[1]到num[tol-1] 判断数p+i*q是否为平...
阅读全文
摘要:n个点(n<=1000)大小范围[0,100],改变一些点的值,使得极差不超过17,代价为改变值的平方。 枚举修改后的最低高度low,维护最小代价。
阅读全文
摘要:/* LANG: C++ TASK: wormhole n个洞,n #include #include using namespace std; #define N 15 int n,to[N],v[N],ans,vis[N]; struct node{ int x,y,id; }a[N]; int cmp(node a,node b){ return a.xn){ ...
阅读全文
摘要:/* TASK:combo LANG:C++ URL:http://train.usaco.org/usacoprob2?a=E6RZnAhV9zn&S=combo SOLVE:自己做,想的是5*5*5*2-重复计算的。 官方题解是超级简单地写个判断枚举每一种解是否可行(n^3),题目没给n的范围,我就认为不可以用O(n^3)的算法。 */ #include #include #includ...
阅读全文
摘要:[ HDU 5878 ] I Count Two Three 考虑极端,1e9就是2的30次方,3的17次方,5的12次方,7的10次方。 而且,不超过1e9的乘积不过5000多个,于是预处理出来,然后每次二分找就可以了。 1 /* 2 TASK:I Count Two Three 2^a*3^b
阅读全文
摘要:贪心,去掉最大的min(m,c)-1个间隔
阅读全文
摘要:进制转换,然后判断是否是回文
阅读全文
摘要:给你一串数字(≤12个),每个数字可以对应3个字母,求生成的所有字符串里,在字典内的有哪些。 我做的时候想的是字典树(Trie 树),模拟数串生成的所有字符串,然后在字典树里查找一下。 官方题解里说可以二分,还可以把字典全部转为数字,总共就5000个,这就是逆向思维。
阅读全文
摘要:A square pattern of size N x N (1 <= N <= 10) black and white square tiles is transformed into another square pattern. Write a program that will recog
阅读全文
摘要:奶昔队Round #1 热身 (奶昔队不是真正的队,是群) CodeForces 435C Cardiogram 模拟,不过我做的时候不是模拟,是计算...(写了好久,还wa了几次),现在看了别人的代码写过一份。 CodeForces 437B The Child and Set sum=Σlowb
阅读全文
摘要:面向对象编程的C++,和平时做题用的C++还是有差距的。实验的题目都是小题目,就都做一下吧。 实验一 简单C++程序设计 1、 猜价格游戏 编写C++程序完成以下功能: (1) 假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数); (2) 提示用户猜价格,并输入:若用户猜的价格比商品
阅读全文
摘要:2016.9.8更新: linux(Ubuntu16.04)下的配置,编译后用终端运行,解决了不能输入的问题 ———————— 因为喜欢Sublime Text 3 的高亮配色,于是想在这里写程序。从emacs配置时连配置文件在哪都不知道到vim配置了半天很有成就感,我对配置文件算是更了解了。不过S
阅读全文
摘要:2017.7.20 复制代码时执行`set paste`来取消自动缩进,再`set nopaste`恢复。 ubuntu下面的适合acm的配置 2016.10.4 适合做acm题目写c++程序的配置 2016.9.3日更新: 命令行几句完成vim配置的方法: rm ~/.vimrc rm -rf
阅读全文