小编Dav*_*vid的帖子

为什么stdio.h中的FILE结构是用大写写的?

为什么FILE结构的名称是stdio.h用大写的?

c

16
推荐指数
2
解决办法
983
查看次数

通过多项式表达式加权的前缀和,你能做得更快吗?

我接受了以下练习:

给定多项式P和实数序列x 1,...,x n,找到可以计算形式S(i,j)= P(0)x i + P(1)x i + 1的表达式的数据结构D. + ... + P(j - i - 1)x j - 1在恒定时间内对x 1,...,x n进行一些预处理.

我一直试图解决它已经有一段时间了,并没有取得多大成功.一个显而易见的解决方案需要为O(n 2)预处理时间:每Ĵ1 ... N,我可以计算P(j)的=α 0 + JA 1 + J 2一个2 + ... + J O(mn)时间.然后,我可以计算任何S(i,j)的前缀和,其中对于每个不同的i,在O(n)时间中j> i,从而完全在O(n 2 …

algorithm

8
推荐指数
1
解决办法
306
查看次数

如何在PDF内容流中编码各种字形?

我正在制作一个输出PDF文档的程序.给定一系列UTF-8编码字符和用于呈现它的字体名称,我想显示构成文档实际内容的相应字形.我希望能够显示国家字符,如čö.支持诸如aeffi之类的连接将会很棒.

问题是,我不知道如何指定要显示的实际字形(例如,在内容流中).

例如,如果我想显示字符串"Hello World",我不必担心编码,我只是写(Hello World)Tj.然后,PDF阅读器将使用适当的字体来呈现此字符串.

但是,如果我想显示字符串 ,那么整天都难以阅读PDF规范.Prostědočistanemožné! 使用连字符ffi,fiea以及给定字体中的捷克国家符号" ě,č"和" é",我将如何处理?

我试图通过PDF规范,但这并不容易.

  • 如何找出与给定字符或连字相对应的"字形代码"?
  • 这段代码是如何在PDF内容流中编码的

非常感谢帮助.


编辑:我可能高估了这个问题.计算显示"普通欧洲文档"所需的字形,我想不出这个数字如何超过256的方式.如果我的假设是正确的,我可以完全重新映射字体的编码.这应该足以涵盖拉丁字母的所有常见符号,数字,标点符号,常见符号等(,[并且仍然有足够的空间用于国家符号,连字和高质量排版的其他元素.(如果字形总数超过256,我可以实现优先级队列来选择最常用的连字.)

话虽这么说,我认为我不需要使用CID键控字体.

我仍然徘徊如何将UTF-8编码的字符映射到任意字体的字形上.我有可用的字体AFM.例如,对于DejaVu字体,字符信息如下所示:

C 63 ; WX 536 ; N question ; B 67 -15 488 743 ;
C 64 ; WX 1000 ; N at ; B 65 -174 930 705 ;
C 65 ; WX …
Run Code Online (Sandbox Code Playgroud)

c pdf fonts encoding utf-8

2
推荐指数
1
解决办法
2913
查看次数

一次测试C中的所有位文件

假设我将C结构定义为

struct data {
    /* some memebers */

    int flag_a:1;
    int flag_b:1;
    int flag_c:1;

    /* some other members */
}
Run Code Online (Sandbox Code Playgroud)

有没有办法利用在内存中表示为单个int的位域,并将条件写s.flag_a | s.flag_b | s.flag_c为更简单的表达式,如s.flags

或者像GCC这样的智能编译器是否能够实际推断它?

编辑:为了让自己绝对清楚:我正在寻找一种可移植的方法来测试所有正在设置的标志,而无需单独显式地测试每个标志.

c

1
推荐指数
1
解决办法
84
查看次数

有没有人认识到这种密码算法?

我发现自己陷入了绝望的境地,试图理解下面的算法.有谁认出来了吗?

它来自反编译的程序集.我正在编写一个PHP网站前端应用程序,需要使用这段可怕代码生成的密码作为登录凭据.

public static void Crypt(string ThisCle, string Buffer, long BufferLength)
{
    int index = 1;
    do
    {
        WUC.cry[index] = char.MinValue;
        checked { ++index; }
    }
    while (index <= 32000);
    WUC.cle = Conversions.ToCharArrayRankOne(ThisCle);
    WUC.si = 0;
    WUC.x1a2 = 0;
    WUC.i = 0;
    WUC.j = 0;
    WUC.l = 0;
    while ((long) WUC.j <= checked (BufferLength - 1L))
    {
        byte num1 = checked ((byte) Strings.Asc(Strings.Mid(Buffer, WUC.j + 1, 1)));
        WUC.Assemble();
        WUC.cfc = WUC.inter >> 8;
        WUC.cfd = WUC.inter & (int) byte.MaxValue;
        WUC.compte …
Run Code Online (Sandbox Code Playgroud)

c# encryption

0
推荐指数
1
解决办法
481
查看次数

包裹状态结果为Just

我的Prolog解释器分配中有一个Haskell函数

renames :: Rule -> State ExecState [(Term, Term)]
Run Code Online (Sandbox Code Playgroud)

它产生(几乎)Prolog规则中的变量替换(以便变量名称在统一期间不会发生冲突).

由此函数生成的对具有形式(Variable "X", Variable "X_11"),这意味着变量X应该重命名为X_11等(重命名的计数器包含在其中ExecState).

问题是我已经定义了替换

type Subst = Maybe [(Term, Term)]
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为有时无法找到统一两个术语的替代品.(但总是找到重命名变量的替代.)

我试过了

renames' :: Rule -> State ExecState Subst
renames' rule = Just $ renames rule
Run Code Online (Sandbox Code Playgroud)

但这显然不会起作用,因为我包装了StateJust不是计算结果.

如何将实际[(Term, Term)]结果包装在Just?我有什么名字要做吗?

谢谢!

monads haskell maybe

0
推荐指数
1
解决办法
75
查看次数

标签 统计

c ×3

algorithm ×1

c# ×1

encoding ×1

encryption ×1

fonts ×1

haskell ×1

maybe ×1

monads ×1

pdf ×1

utf-8 ×1