ACM-ICPC(11/9)
今天看了一下黑书,感觉很刘汝佳,是他的风格,题目挺好的~~~
- 枚举
P12翻硬币
二进制枚举每一列的情况2^9种。
在每一种情况下然后对于每一行就是翻与不翻的两种情况~~~
- 贪心
P13钓鱼问题
POJ上有,之前做过,可以再优化一下。
首先枚举在哪里结束,然后剩下的时间就是用来钓鱼,每次选取当前最大的钓鱼,然后更新当前值(优先队列插入与弹出)
- 递归
P20三色三角形
当查找失败的时候还是要回溯一下,看了一下网上的代码,发现好像我的是最短的~~~
#include <bits/stdc++.h> using namespace std; char str[];
vector<char> v; map<int,int> mp;
int n;
bool flag[];
struct Ans {
int a,b;
}ans[]; struct Node {
char s;
int pos;
}; int cnt;
bool solve(vector<Node> &v) {
int len = v.size();
if(len==) {
if(v[].s!=v[].s&&v[].s!=v[].s&&v[].s!=v[].s) {
return true;
}
return false;
}
for(int i = ; i < len; i++) {
Node tmp = v[(i+)%len];
if(v[i].s!=v[(i+)%len].s&&v[i].s!=v[(i+)%len].s&&v[(i+)%len].s!=v[(i+)%len].s) {
ans[cnt].a = v[i].pos;
ans[cnt++].b = v[(i + )%n].pos;
auto it = v.begin() + (i+)%n;
v.erase(it);
if(solve(v)==true)
return true;
cnt--;
v.insert(it,tmp);
}
}
return false;
} vector<Node> strs;
int main()
{
scanf("%d%s",&n,str); for(int i = ; i < n; i++)
strs.push_back((Node){str[i],i}); if(!solve(strs)) {
puts("");
}
else {
printf("%d\n",cnt);
for(int i = ; i < cnt; i++)
printf("%d %d\n",ans[i].a+,ans[i].b+); }
return ;
}
ACM-ICPC(11/9)的更多相关文章
- hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...
- 【转】lonekight@xmu·ACM/ICPC 回忆录
转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM最早听说ACM/ICPC ...
- hduoj 4715 Difference Between Primes 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4715 Difference Between Primes Time Limit: 2000/1000 MS (J ...
- 2016 ACM/ICPC Asia Regional Qingdao Online 1001/HDU5878 打表二分
I Count Two Three Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- 2016 ACM/ICPC Asia Regional Shenyang Online 1009/HDU 5900 区间dp
QSC and Master Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- 2016 ACM/ICPC Asia Regional Dalian Online 1006 /HDU 5873
Football Games Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 2015 ACM / ICPC 亚洲区域赛总结(长春站&北京站)
队名:Unlimited Code Works(无尽编码) 队员:Wu.Wang.Zhou 先说一下队伍:Wu是大三学长:Wang高中noip省一:我最渣,去年来大学开始学的a+b,参加今年区域赛之 ...
- 2016 ACM/ICPC Asia Regional Qingdao Online(2016ACM青岛网络赛部分题解)
2016 ACM/ICPC Asia Regional Qingdao Online(部分题解) 5878---I Count Two Three http://acm.hdu.edu.cn/show ...
- 2017 ACM/ICPC Asia Regional Qingdao Online
Apple Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submi ...
- 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛
比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...
随机推荐
- python发送信息到邮箱
import smtplib from email.mime.text import MIMEText 设置服务器所需信息 163邮箱服务器地址 mail_host = 'smtp.163.com' ...
- (转)Python格式化字符 %s %d %f
Python格式化字符 %s %d %f 原文:http://blog.csdn.net/huangfu77/article/details/54807835 格式 描述%% 百分号标记 #就是输出一 ...
- centOS查看apache版本的命令
在centOS 7下: 命令如下: httpd -v
- postgres formencode.api.Invalid
错误提示: Invalid: expected an int in the IntCol 'geom', got <type 'str'> '010100000007EBFFFC3A611 ...
- 解决The current branch is not configured for pull No value for key branch.master.merge found in config
使用Git Pull项目的时候出现这个问题: The current branch is not configured for pull No value for key branch.master. ...
- mysql多表条件更新
有两张表bas_student.bas_householder, 去除学生表中与家长表重复的手机号 UPDATE bas_student a,bas_householder b SET a.mobil ...
- C# HashTable 使用用法详解
C#中如何操作HashTable类呢?本文将给你答案,哈希表(Hashtable)简述在.NET Framework中, 一,Hashtable是System.Collections命名空间提供的一个 ...
- git的commit规范及强制校验
1.背景 在多人协作项目中,如果代码风格统一.代码提交信息的说明准确,那么在后期协作以及Bug处理时会更加方便. 先来介绍本人公司采用的commit规范 Commit message格式 < ...
- js数组的sort排序的原理和应用
1.js sort()方法的应用: 首先:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串( ...
- c语言进制转化
#include <stdio.h> // 进制转化 int main(void) { ; ; int i3 = 0x32C; printf( printf( printf("十 ...