
UVA
keyboarder_zsq
你所认为的极限,其实是别人的起点。
展开
-
uva12563
可以说是第一题DP, 也不是这样说,就是理解的第一题,虽然还是似懂非懂但套路有一点:初始化,然后状态的转化就是递推赋值,然后和新的状态比较一下。OK了题意必须先明确保证唱的歌曲数目最多,然后再开一个数组去记录伴随的唱歌时间使之最长。OKUVA 12563#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostrea原创 2016-04-09 00:32:04 · 1074 阅读 · 0 评论 -
UVALive 7327【模拟】
先从整体考虑,因为取膜适用于加法,所以一个数拆分成两个数%m==0就代表这个数%m一定=0; 再考虑把原串划分成两段,当且仅当某个前缀组成的数能被m整除时,原串才能被分成两段. 划成多段同理. 求出有多少地方能被切割,结果就是 2^(res-1). 就是相当于枚举每个位置切割or不切割结果.#include <iostream>#include <algorithm>#include <c原创 2016-09-16 22:46:31 · 405 阅读 · 0 评论 -
UVA12504【C++STL运用】
雨巨的UVA的C++题集英文真长… 题意: 有两本字典,第一行是旧字典,第二行是新字典。 每行不超过100个字符,没有空格,两本字典都可以是空的; 新key:+ 缺key:- 值变 :* 思路: 具体见代码,具体参考http://blog.youkuaiyun.com/acvay/article/details/43021077 这里会出现一个count函数: algorithm头文件定义原创 2016-09-17 10:55:26 · 836 阅读 · 0 评论 -
UVALive 6833【模拟】
题意: 算从左往右的值,先乘后加的值,数的范围<=9= =,然后根据满足的条件输出字符。 思路: 从左往右就是直接来了,先做乘法就是乘法两边的数字靠向右边那个,且左边那个为0,然后所有值一加就好了。#include <bits/stdc++.h>using namespace std;const int N=1e2+10;int zhi[N];char s[N];int main(){原创 2016-09-05 22:36:12 · 505 阅读 · 0 评论