- 浏览: 155574 次
- 性别:
- 来自: 内蒙古
最新评论
-
linest:
ethi_teye 写道id可能是0开头的,你用int保存再输 ...
pat-1022 Digital Library -
ethi_teye:
id可能是0开头的,你用int保存再输出,这些0就被忽略了。
pat-1022 Digital Library -
lixuanchong:
在lz的代码上稍作修改即可:
#include<iost ...
pat-1010* Radix -
air_sky:
确实。。result=a0*base^0+a1*base^1+ ...
pat-1010* Radix -
linest:
air_sky 写道
关于“方程只有一个正整数解,就可以用二分 ...
pat-1010* Radix
文章列表
A 5
A 5
B 0
B 5
C 0
C 0
删除全部是5的条目
两种思路
(一) 选出为0的条目和原表left join
NULL 删除
B 0
C 0
C 0
(二) 按类别group by统计不等于5的个数,等于0项删除
A 0
B 1
C 2
持续待补充。。
ZOJ-1037 环行最短距离
- 博客分类:
- acm
1037:城市之间如下图连接。求环行一周的最短距离
一行m个城市,一列n个城市。如果m和n中有一个是偶数,则m*n距离。
若均为奇数,则必须走一条斜边,m*n-1+根号2距离
编写时发现printf不会进行类型转换 printf("%f",2*3) 会输出0 要注意一下
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int main()
{
int N;
int m;
int n;
doub ...
ZOJ-1074* 和值最大子矩阵
- 博客分类:
- acm
1074:给出一个N*N矩阵,求所有子矩阵中能达到的最大和值。
动态规划。矩阵是二维的,先降维,想象把矩阵压扁成一维数组。数组中每个值是原矩阵一列的和值。然后问题转化成和最大的连续子串问题。
求连续子串最大和值O(n)可解。从头扫描累和,遇负数和值则舍弃。因为负值成了接下来的负担。
求子矩阵要确定起始的行和终止的行。在相同起始行下,列和数组是增量计算的,避免了重复计算。
计算演示。 确定行范围,扩展列。 行向下扩展过程中列只需增量计算。
A B C A B C A B C A B C A B C
A B C A B C A B C A B C ...
hive 基础(1)
- 博客分类:
- hive&sql
$hive -help
Usage: hive [--config confdir] [-hiveconf x=y]* [-i <init-filename>]*[<-f filename>|<-e query-string>] [-S]
-u username
-p [password]
-i <filename> init Sql file
-e 'quoted query string' Sql from command line
-f <filename> ...
ZOJ-2433 修路
- 博客分类:
- acm
2433:一条高速路沿线有很多城市,间距不等,但高速路是单行的。现在要修两条反向的路使车辆可以返回任意村子。求使总路程最小的两条路地起点和终点。同时要求每个城市最多只能有一条路。
----
A B C D E 这种不行,过了D就回不到前面去了。
----
分析后发现,两条路必须有重叠部分,而且第一个城市和最后一个城市必须包括在内。为了总路程最短,重叠部分为两个相邻城市的间隔
-------
A B C D E 总路程为全长加重叠。问题转化为寻找相邻最近的两城市。
-----------
#include<stdio.h ...
ZOJ-2417 二进制最低位的1
- 博客分类:
- acm
2417:给一个10进制数,求它二进制后,从最低位1开始构成的数。
88的二进制为1011000 1000结果是8
26的二进制为11010 10结果是2
循环取余,找到第一个1为止。
#include<stdio.h>
#include<iostream>
using namespace std;
int cal(int dec)
{
int val=1;
while(dec)
{
if(dec%2==1)
break;
else
val*=2;
dec/=2;
}
return va ...
ZOJ-2405 各位和相等的四位数
- 博客分类:
- acm
2405:找到10进制,16进制和12进制下各位数的和相等的10进制四位数。
乍一看好像是进制转换题,其实简单了很多。只要各位上的数字,无需考虑顺序就不用递归,循环即可。也不用考虑字母和数字转换,直接用数字求和即可。
#include<stdio.h>
#include<iostream>
using namespace std;
int cal(int dec,int base)
{
int sum=0;
while(dec)
{
sum+=dec%base;
dec/=base;
}
return sum;
}
...
ZOJ-2388 和差逆推
- 博客分类:
- acm
2388:已知两整数的和值和差值的绝对值,求这两个数。
a+b=sum
a-b=diff
a=(sum+diff)/2;
b=(sum-diff)/2;
简单题,依据上面公式求解。需要注意的是除2操作,若奇数除2会舍弃小数。计算出a,b后在验证一下是否真的符合原式。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
int sum;
int diff;
int a;
int b;
cin>>n;
...
ZOJ-2376* 蚂蚁木杆
- 博客分类:
- acm
2376:木杆上不同位置上有蚂蚁,蚂蚁向左或向右走。当两只蚂蚁相撞则均反向前进。求这些蚂蚁全部掉落所需最短和最长的时间。
本题比较有趣也比较经典。
最短时间比较好想,左半部分蚂蚁向左走,右半部分蚂蚁向右走,没有碰撞发生。为所有最短时间中的最长的。
最长时间可能涉及碰撞。碰撞其实相当于穿透,-->AB<-- <--AB--> 相当于<--BA-->
因此碰撞可以不考虑。最长时间就是离一端最远的蚂蚁所用时间。
#include<stdio.h>
#include<iostream>
using namespace st ...
ZOJ-2351 计算PH值
- 博客分类:
- acm
2351:计算酸的PH
公式: pH = -log10 [H+] PH值根据氢离子浓度求出
Ka = [H+] [acid ions] / [acid] 平衡常数K等于分解的氢离子和酸根离子乘积与未分解的酸分子的比值
输入格式: 常数 初始酸浓度 1摩酸分子分解出氢离子数 分解出酸根离子数
按公式计算即可。有点小麻烦。指数形式可以直接输入的。如用printf要用%e输入。
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace ...
ZOJ-2321 基本应用
- 博客分类:
- acm
2321:给出运动员的身体素质,决定能踢哪个位置。
简单题。基本分支判断。多值之间输出空格需要处理一下。
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int main()
{
double speed;
double weight;
double strength;
bool isfirst=true;
while(1)
{
cin>>speed;
cin>>wei ...
ZOJ-2208 解密
- 博客分类:
- acm
2208:编码解码。
Theres no place like home on a snowy night
t o i o y
h p k n n
e l e a i
r a h s g
e c o n h
s e m o t
n l e w x
竖排列成n列方阵,用x补足。从头开始蛇形输出,完成加密。
现给出密码,解密。
SampleInput
5
toioynnkpheleaigshareconhtomesnlewx
3
ttyohhieneesiaabss
0
SampleOutput
theresnoplacelikehomeonasnowynightx
thisist ...
ZOJ-2201 比大小。。
- 博客分类:
- acm
2201:僵尸吃脑子。够吃打印一种,不够吃打印另一种。
找不到更简单的题了==!
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
int x;
int y;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>x;
cin>>y;
if(x<y)
cout<<"NO BRAINS"<&l ...
ZOJ-2176 基本应用
- 博客分类:
- acm
2176:给出不同时段的速度和持续时间,计算路程。
简单题。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
int s;
int t;
int prev;
int dist;
while(1)
{
prev=0;
dist=0;
cin>>n;
if(n==-1)
break;
for(int i=0;i<n;i++)
{
cin> ...
ZOJ-2172 调整输出顺序
- 博客分类:
- acm
2172:按长度升序给出一组单词,调整输出为长度先递增,后递减。
Example input:Example output: 7SET 1BoBoPatJeanJeanClaudeKevinMarybethClaudeWilliamWilliamKevinMarybethPat
简单题。稍微调整一下即可。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
char words[15][26];
int n;
int set=1;
int ...