POJ 3176 Cow Bowling

链接: http://poj.org/problem?id=3176

这道题可以算是dp入门吧。可以用一个二维数组从下向上来搜索从而得到最大值。

优化之后可以直接用一维数组来存。(PS 用一维的时候要好好想想具体应该怎么存,还是有技巧的)

#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
using namespace std;
int dp[355]={0};
int main ()
{
int n,i,j,s=0,a;
cin>>n;
for (i=1; i<=n; i++)
for (j=i; j>=1; j--)
{
cin>>a;
dp[j]=(dp[j]>dp[j-1]?dp[j]:dp[j-1])+a;
//用一维数组更新的时候必须时必须保证更新后的元素在之后同一层dp中不再用到。
if (s<dp[j]) s=dp[j];
}
cout<<s<<endl;
return 0;
}
/*
int map[355][355];
int main ()
{
int n,i,j;
cin>>n;
for (i=0; i<n; i++)
for (j=0; j<=i; j++)
cin>>map[i][j];
for (i=n-2; i>=0; i--)
for (j=0; j<=i; j++)
map[i][j]+=(map[i+1][j]>map[i+1][j+1]?map[i+1][j]:map[i+1][j+1]);
//这是开二维数组,从下向上dp
cout<<map[0][0]<<endl;
return 0;
}
*/

POJ 1674 Sorting by Swapping

链接: http://poj.org/problem?id=1674

题意是有一串数字,问你最少交换多少次可以得到从小到大的排序

我们知道最少交换次数可以用选择排序来求得。但是这道题如果用选择排序的话,必然超时。

其实这道题还是暗藏玄机的。因为n个数正好是1到n。所以如果a[i]==i 就表示该位置已经排好了

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#define p 3.1415927
using namespace std;
int a[10010]= {0};
int main ()
{
int t,n,i,j;
cin>>t;
while(t--)
{
int s=0;
cin>>n;
for (i=0; i<n; i++)
scanf("%d",a+i);
for (i=0; i<n-1; i++)
if (a[i]!=i+1)//这道题如果用选择排序的话。10000^2。必然超时
//这道题n个数是从1到n。所以加这个判断会适当减时
{
for (j=i+1; j<n; j++)
if (a[j]==i+1)
{
int temp=a[j];
a[j]=a[i];
a[i]=temp;
s++;
}
}
cout<<s<<endl;
}
return 0;
}

POJ 2346 Lucky Tickets

链接: http://poj.org/problem?id=2346

这道题就是一个n位数,左半边相加和有半边相加相等为一个组合,问有多少组合。n位数可以有前导零

由于n最大为10.。想都没想直接打表了。。

不过看discuss里面说这道题可以dp。好神。不过想想也是

这道题还应该再思考思考

//这道题有待提高 用DP来做 以后试试
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main ()
{
int a[6]={0,10,670,55252,4816030,432457640};
int n;
cin>>n;
cout<<a[n/2]<<endl;
}

这几天做了挺多水题的。为了增快阅读速度吧。还有就是要加快敲代码速度。

这里面几道题目都是相对有点意思的。

POJ 水题若干的更多相关文章

  1. POJ 水题(刷题)进阶

    转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意&q ...

  2. 【POJ水题完成表】

    题目 完成情况 poj1000:A+B problem 完成 poj1002:电话上按键对应着数字.现在给n个电话,求排序.相同的归一类 完成 poj1003:求最小的n让1+1/2+1/3+...+ ...

  3. poj 水题系列

    题目:http://poj.org/problem?id=3006 筛选法求素数 #include <iostream> #include<cstdio> #include&l ...

  4. POJ水题 1298

    #include "stdafx.h" #include <iostream> #include <string> using namespace std; ...

  5. POJ 1488 Tex Quotes --- 水题

    POJ 1488 题目大意:给定一篇文章,将它的左引号转成 ``(1的左边),右引号转成 ''(两个 ' ) 解题思路:水题,设置一个bool变量标记是左引号还是右引号即可 /* POJ 1488 T ...

  6. poj 3080 Blue Jeans(水题 暴搜)

    题目:http://poj.org/problem?id=3080 水题,暴搜 #include <iostream> #include<cstdio> #include< ...

  7. POJ 3984 - 迷宫问题 - [BFS水题]

    题目链接:http://poj.org/problem?id=3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, ...

  8. 【转】POJ百道水题列表

    以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...

  9. [POJ 1000] A+B Problem 经典水题 C++解题报告 JAVA解题报告

        A+B Problem Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 311263   Accepted: 1713 ...

随机推荐

  1. int main(int argc,char* argv[])参数详解

    argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[] ...

  2. 让别人也可以访问你电脑上的ASP.NET MVC创建的网站

    最近在写一个网站,昨天刚写完,由于要和朋友一起测试,但是他电脑上没有环境,所以希望我在自己电脑上部署一下,让他直接通过浏览器来访问来测试,所以从昨晚到今天上午,通过各种搜索,终于搞定了. 先介绍一下我 ...

  3. JAVA类与对象(一)----基础概念理解

    面向对象基本概念 面向对象是一种新兴的程序设计方法,或者说是一种新的程序设计规范,其基本思想是使用对象.类.继承.封装.消息等基本概念来进行程序设计.它是从现实世界客观存在的事物(即对象)出发来构造软 ...

  4. SOLVED: GATT callback fails to register

    I finally figured this problem out. The device I am using is a Samsung Galaxy S4 and the actual prob ...

  5. js 正则 数值验证

    function checkTextDataForNORMAL(strValue) { // 特殊字符验证格式 var regTextChar = /([\*"\'<>\/])+ ...

  6. js获取对象、数组的实际长度,元素实际个数

    /*获取对象.数组的长度.元素个数 *@param obj 要计算长度的元素,可以为object.array.string */ function count(obj){ var objType = ...

  7. Asp.net 同时下载多个文件

    整理自网络 下载思路是首先把多个文件进行压缩,然后再下载压缩成的压缩包 引用文件dll:ICSharpCode.SharpZipLib.dll 1. 合成下载文件夹 Protected Sub btn ...

  8. html+css学习笔记 5[表格、表单]

    表格 -- 默认样式重置 表格标签:     table 表格     thead 表格头     tbody 表格主体     tfoot 表格尾     tr 表格行     th 元素定义表头 ...

  9. 我的第一个python爬虫程序

    程序用来爬取糗事百科上的图片的,程序设有超时功能,具有异常处理能力 下面直接上源码: #-*-coding:utf-8-*- ''' Created on 2016年10月20日 @author: a ...

  10. python学习之“切片操作从入门到精通”

    在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...