Topcoder SRM625 题解

Topcoder SRM 499 的第一道题,如果对topcoder还不是很了解的可以拿来看看 你可以通过这道题去了解Topcoder的题目以及比赛形式 立即下载

给出一个字符串求是palindrome和anagram的比率是多少。


知识点:

1 DBL_MAX 64位double的最长数大概是1.7E308,很大很大,比long long大上不知多少倍,故此大概能容纳150!的数值,不能容纳200!的数值

2 偶数的时候,不能有字母重复为基数次,否则不能组成palindrome

3 基数的时候,只能有且只有有一个字母重复为基数次,用于放在中间的,否则也不能组成palindrome

4 计算带重复数的全排列公式:P(N) / P(M1)/P(M2)...P(Mk) 其中M1...Mk为数值出现的重复数

250分的题目,不过这250不容易拿呢,一点水分都没有的。2,3知识点不是那么好总结,1,4知识点缺一不可。


#include <string>
#include <malloc.h>
#include <algorithm>
using namespace std;

class PalindromePermutations
{
	double *tbl;
public:
	PalindromePermutations() : tbl((double*)malloc(sizeof(double)*51))
	{
		tbl[0] = 1.0;
		for (int i = 1; i < 51; i++)
			tbl[i] = i * tbl[i-1];
	}
	~PalindromePermutations()
	{
		free(tbl);
	}

	double palindromeProbability(string w)
	{
		int n = (int)w.size();

		double numerator = tbl[n/2], denominator = tbl[n];
		int odd = 0;
		for (char ch = 'a'; ch <= 'z'; ch++) 
		{
			int t = count(w.begin(), w.end(), ch);
			if (t % 2 == 1) odd++;

			numerator /= tbl[t/2];
			denominator /= tbl[t];
		}
		//1.odd大于1对所有情况都不存在palindrome,2.n为偶数,只能不存在odd
		if ((odd > 1) || (odd != n % 2))
			return 0.0;

		return numerator / denominator;
	}
};



瑞文测试(智商测试) 瑞文测试,一块比较准确的智商测试软件。。 立即下载

相关推荐

智商测试文档

智商小测试,需要测试一下你的逻辑能力的来

2015年集训队作业

听说今年集训队作业是TC所以就从SRM699往前做好了。SRM 699 250pts按位处理。#include <bits/stdc++.h> using namespace std; #define ll long long int n,a[41]; int cal(int x) { int ret=0,sum=0,cnt=0; for(int i=0;i<n;i++)

make_it_for_good的博客 1269

增量式PID的P和I怎么理解(一)

增量式PID的P、I理解之推翻片 据我所知的资料里关于PID三个参数的理解是这样的:(我这里只说P和I,先不说D) P的作用:比例P可以加快系统调节速度,P过小调节时间变长,响应性不够,P越大响应性越高超调也越严重,过大的P会使系统振荡。 I的作用:消除静差,提高控制精度,I越大越滞后,过大会使系统振荡。 ...

fangchenglia的博客 1万+

国际标准智商测试

原文地址:国际标准智商测试作者:姝含作品 全部39道题目算完后,按右下角的“Submit”按纽,可以得到您的智商哦,据说爱因斯坦的智商有160,算算您和天才差多远。        测试完结果,可选择里边的标准差 16 (里边有 15,16,24) 然后将得到的智商指数对应下表,可以查出你比多少人聪明!(多少人比你笨)   例如你测得智力为 119 可在表中查到

luoage的专栏 2508

计算机考研复试面试常问问题 数据结构篇(下)

计算机考研复试面试常问问题 数据结构篇(下) 使用前需知(拒绝白嫖,如果对你有帮助,你只需点个赞就行): 注意:有人在闲鱼上盗卖我的资料,而且还有很多同学买了,请各位擦亮双眼,我是整理出来免费分享给大家的! 大家请多点赞和评论,这样后面的同学更容易百度到,不至于被人盗卖,我就不加水印影响大家使用了! 第一次整理,度不好控制,有不好的地方希望大家理解,后面可能会改进,造福今年之后的同学们! ...

程序员宝藏的博客 1万+

SPSS回归分析(线性:一元(简单)和多重;非线性logistic)

SPSS线性回归分析回归分析一、线性模型(针对连续因变量,线性关系)(一)简单线性回归(一元线性回归)1、绘制散点图2、建立简单(一元)线性回归模型3、建立模型后,检查预测结果(二)多重回归分析1、绘制矩阵分布散点图(论文专用你懂的)2、建立多重回归模型point 1:自变量加入方法:逐步(步进)法3、建立模型后,检查预测结果二、非线性模型(将非线性问题转换为线性问题)1、logistic分析的回归模型1.1 建立回归模型1.2 利用回归模型进行预测 根据之前的学习,通过评价实验得到了主观数据, 通过 描述

weixin_44394352的博客 5万+

TopCoder SRM(Arena) 一日游记

呃,其实我是个菜如一只jie

HDU_toraoh 1万+

【实战指南】RF-DETR多场景部署:从工业质检到自动驾驶的SOTA模型应用

本文深入解析了SOTA目标检测模型RF-DETR在工业质检与自动驾驶等多场景下的实战部署指南。该模型基于Transformer架构,在COCO数据集上实现了实时检测与高精度的突破,并凭借其强大的泛化能力,在RF100-VL等复杂数据集上表现出色。文章提供了从快速Demo、工业缺陷检测微调、车载自适应部署到多硬件平台性能优化的完整解决方案,帮助开发者高效应用这一先进模型。

weixin_29070861的博客 476

TopCoder SRM625 DIV2 950-point problem

如果我们知道第一个人是Honest or

IrishCoffee's Blog 707

从TM1到TM9:手把手教你用Wireshark抓包分析LTE下行调度与传输模式切换

本文详细解析了如何使用Wireshark抓包分析LTE下行调度中的传输模式切换,从TM1到TM9的动态调整过程。通过实战案例,包括小区边缘移动、高速场景和多用户调度,揭示eNodeB如何基于信道质量指标(如RSRP、SINR)动态切换传输模式,并提供关键信令解析和优化建议,助力网络工程师提升LTE网络性能。

weixin_42651748的博客 316

【Linux】U盘配置Ubuntu系统 ——(Win10+Ubuntu20.04)双系统安装教程

Ubuntu系统安装

WS_Change的博客 4336

TopCoder SRM 625 Incrementing Sequence 题解

本题就是给出一个数k和一个数组,包括N个元素,通过每次增加数组中的一个数的操作,最后需要得到1 - N的一个序列,不用排序。 可以从暴力法入手,然后优化。 这里利用hash表进行优化,最终得到时间效率是O(n*n)的算法,而且常数项应该很低,速度还挺快的。 思路: 1 如果数组A[i]在1 -N 范围内,就利用bool B[]记录,这个数已经找到了; 2 如果A[i]的值之前已经找到了,

靖空间 1342

姿态传感器/陀螺仪之BMI270应用原理图设计

BMI270是一款由博世(Bosch)推出的高性能、超低功耗惯性测量单元(IMU),专为可穿戴设备、智能设备及物联网应用设计。

corlin6688的博客 2864

Topcoder:SRM 708 算法题解

题目翻译 250分题目:SafeBetting 赌徒有b块钱,他想把自己手上的钱增加到c块,同时他又不想输的太惨,因此必须保证每次下注后手上不少于a块钱。每次下注,赢了则下注的钱按双倍奉还(收益率100%),输了则分文不剩(收益率-100%)。问赌徒至少需要下注几次才能达到目标。 500分题目:BuildingStrings 定义一个字符串的得分score为:字符串

Hans__Yang的博客 2258

打通ZYNQ的任督二脉:AXI_FIFO数据交互全解析

FIFO(First In First Out,先进先出)是一种经典的数据缓冲结构,就像排队买票一样,先来的人先得到服务。时钟域交叉(CDC):连接不同时钟频率的模块数据缓冲:平衡生产者和消费者的速度差异流量控制:防止数据丢失或溢出input clk,// 输入AXI4-Stream接口(从PS到PL)// 输出AXI4-Stream接口(从PL到PS)// 状态指示信号// 定义状态机状态// 数据缓存// 8个深度的缓存// 流水线处理寄存器。

QQ_778132974的博客 306

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Topcoder好题推荐

转自白神:http://hi.baidu.com/%B0%D7%D2%C2%C9%D9%C4%EA2012/blog/item/d2a1a43291acbe3c0a55a9b7.html  Single Round MatchSRM 522 DIV1   1050pt ( 很不错的dp题,先需要思考来分析各种情况 ) 推荐代码: practice room writerSRM 521 DIV1 ...

weixin_33726318的博客 420

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TopCoder Srm671 一二题翻译及题解

第1题  染色(paint) 现有W*H的棋盘格子,要在其上用蓝色染其中的一些格子,形成一个蓝色的矩形。由于费用问题,你最多只能染色M个格子,请问你能染色的矩形最大面积是多少? 【输入格式】(paint.in)    第1行:2个整数W和H,范围在[1…10^6]。    第2行:1个整数M,范围在[1…10^12]。   【输出格式】(paint.out) 一个整数,可能的矩形最大

算法的设计与应用研究 1085

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SRM625 缺了名字的题目 [DP]

SRM625 缺了名字的题目 [DP] 题目描述 N 个座位的圆桌,K 个人去坐, 任意时刻联通块数量 &lt;=G(人和桌子座位均有序) 求方案数(两个方案数不同当且仅当有一个人的座位不同) 数据范围 N, K, G &lt;=2000 题解 设f[i][j]f[i][j]f[i][j]表示前iii个人构成了jjj个联通块的方案数。 方程(刷表法): f[i+1][j+...

AnnieL 503

【转】TopCoder入门教程 -- sqybi完善版

本文根据经典的TC教程完善和改编。TopCoder:http://www.topcoder.com/基本规则TopCoder的比赛类型很多,最常见的是周赛SRM(Single Round Match),另外还有TCHS SRM(TopCoder High School SRM,题目和SRM一样,仅限中学生参加,参赛者水平较低,据说涨rating很容易),马拉松(Marathon Matchs)

hjthss的专栏 1199

TopCoder SRM 675 Div2 题解 (填坑速度感天动地)

232.66+368.81+685.73=1287.2 T2花的时间有点久,T1也没上240… 不过难得A了还是很开心的~~ 题解要不就坑着叭QAQ

ymzqwq的博客 908

TopCoder SRM570题解

掉回Div 2了……尼玛…… 依旧是翻译向。官方题解:http://apps.topcoder.com/wiki/display/tc/SRM+570 250pts: 题意:给定一系列指令,让一个机器人在一个无限区域内移动。指令包括向前移动x格以及顺时针旋转90*x度。求运行指令T次之后机器人距起始位置的曼哈顿距离。T很大。 分析:先模拟求出运行一次指令后机器人距起始位置的距离d和

huzecong的博客 2252

SRM 584 第一次玩TopCoder。。。只水题一道。。。

第一次topcoder,以前老感觉没有资格去做tc,cf什么的,现在已经慢慢接触了。 感觉还可以,还是有让我们这些蒻菜安慰的水题。 tc的确很好玩,用客户端比赛,还有各种规则,而且还是只编写一个类提交上去,最后还能cha别人(虽然我还没cha过),具体规则看大神写的这篇文章。 好吧,我的第一次TC的SRM就只刷出了第一道250P的水题,题目字体太小了,看题目看了老半天,然后编写完调试出来,还...

runfeel 228
上一篇: POJ 2553 The Bottom of a Graph TarJan算法题解
下一篇: Design Pattern Iterator 迭代器设计模式
靖心
博客等级 码龄17年 684粉丝 746原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值