------
## 最终结论
```python
def can_construct_palindromes(s: str, k: int) -> bool:
    from collections import Counter
    
    # 统计字符频率
    char_count = Counter(s)
    
    # 计算奇数频率字符数
    odd_count = sum(1 for count in char_count.values() if count % 2 == 1)
    
    # 判断是否可以构成k个回文
    return k <= len(s) and odd_count <= k

# 示例用法
print(can_construct_palindromes("annabelle", 2))  # 输出: True
print(can_construct_palindromes("leetcode", 3))   # 输出: False
print(can_construct_palindromes("true", 4))       # 输出: True
print(can_construct_palindromes("yzyzyzyzyzyzyzy", 2))  # 输出: True
print(can_construct_palindromes("cr", 7))         # 输出: False
```